相关疑难解决方法(0)

clone()具有受保护的访问权限 - 公共对象clone()

我正在编写代码来创建一个对象,克隆该对象,然后比较两者.

有问题的对象Octagon是对象GeometricObject的扩展

public class Octagon extends GeometricObject implements Comparable<Octagon>, Cloneable {
private double side;

public Octagon (double side){
    this.side = side;
}

public Object clone() throws CloneNotSupportedException {
    Octagon octClone = (Octagon)super.clone();
    return octClone;
}
Run Code Online (Sandbox Code Playgroud)

在名为Octagon.java的文件中

另一方面,TestOctagon.java是我的主要方法:

public class TestOctagon {
    public static void main(String[] args) {
        GeometricObject test = new Octagon(5); //create an Octagon with a side of 5
        System.out.println("Area is: "+test.getArea());
        System.out.println("Perimeter is: "+test.getPerimeter());

        Octagon copy = (Octagon)test.clone();


    }
}
Run Code Online (Sandbox Code Playgroud)

错误出现在main方法的最后一行.

clone() has protected access in Object
Run Code Online (Sandbox Code Playgroud)

我已经尝试在Octagaon中重命名克隆方法,比如说克隆,但是后来我得到了错误: …

java clone

18
推荐指数
2
解决办法
3万
查看次数

java.util.List的descendingIterator

LinkedList可以使用升序或降序迭代器迭代,如下所示:

       LinkedList<Object> list = new LinkedList<Object>();
       ...
   StringJoiner sJ1 = new StringJoiner(" ");
   list.iterator().forEachRemaining(a -> sJ1.add(a.toString()));
   System.out.println("averse: \n" + sJ1.toString());

   StringJoiner sJ2 = new StringJoiner(" ");
   list.descendingIterator().forEachRemaining(a -> sJ2.add(a.toString()));
   System.out.println("reverse: \n" + sJ2.toString());
Run Code Online (Sandbox Code Playgroud)
averse: 
Hello 2 Chocolate 10
reverse: 
10 Chocolate 2 Hello
Run Code Online (Sandbox Code Playgroud)

但是descendingIterator不适用于ListArrayList.有没有在列表说明任何解决办法,或者为什么的descendingIterator缺席的名单

问题类似于可以为java中的每个循环以相反的顺序执行吗?.但所有答案都建议使用临时解决方案或第三方库.

可能有使用溪流可能吗?(不幸的是,我的谷歌搜索只给出了流Java 8流逆序的缺失标准反转)

正如我所提到的,我的问题与关于流的问题有关,但是:

  • 使用stream只是一个选项,问题是关于java.util.Iteratorjava.util.List
  • 该问题的答案仅解决了部分案例,但表明缺乏方便的一般反向.如果我没有错过术语List是有序集合,对可比项目进行排序,实现顺序会缩小范围.

java linked-list arraylist java-8

4
推荐指数
2
解决办法
1753
查看次数

标签 统计

java ×2

arraylist ×1

clone ×1

java-8 ×1

linked-list ×1