gpt4 book ai didi

java - 实现 Cloneable 并声明 CloneNotSupportedException 但仍然得到 CloneNotSupportedException

转载 作者:行者123 更新时间:2023-12-01 17:03:02 28 4
gpt4 key购买 nike

我正在编写一个程序,该程序构造一个包含各种对象的集合。但是,当我尝试克隆该集时,尽管声明了 CloneNotSupportedException 并实现了 Cloneable 接口(interface),但我还是收到了 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();
}
}

如有任何帮助,我们将不胜感激。

最佳答案

您没有收到 CloneNotSupportedException。您从编译器中收到错误,taht 表示由于克隆方法会抛出 CloneNotSupportedException,因此您需要捕获该异常,或者在 throws 子句中声明它,就像任何其他已检查的异常一样:

unreported exception java.lang.CloneNotSupportedException; must be caught or declared to be thrown

关于java - 实现 Cloneable 并声明 CloneNotSupportedException 但仍然得到 CloneNotSupportedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26702752/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com