さまざまなオブジェクトを取り込むセットを構築するプログラムを作成しています。ただし、セットを複製しようとすると、CloneNotSupportedException を宣言し、Cloneable インターフェイスを実装しているにもかかわらず、CloneNotSupportedException が発生します。
これがコードです。
import java.util.ArrayList;
public class NewSet implements Cloneable {
private ArrayList<Object> objects;
public NewSet() {
this.objects=new ArrayList<Object>();
}
public void add(Object b) {
if(this.contains(b)) {
return;
}
else {
objects.add(b);
}
}
public boolean contains(Object h) {
for(int x=0; x<this.size(); x++) {
if(this.get(x)==h) {
return true;
}
}
return false;
}
public Object get(int i) {
return objects.get(i);
}
public int size() {
return objects.size();
}
public Object clone() throws CloneNotSupportedException {
NewSet copy= (NewSet) super.clone();
return copy;
}
public static void main(String[] args) {
NewSet mb= new NewSet();
mb.add("b");
mb.add("c");
mb.add("d");
Object mc=mb.clone();
}
}
どんな助けでも大歓迎です。