我需要在我的教授给出的程序中使用compareTo()。 但是该程序包括泛型。该功能存在问题。所以我的问题是我怎么实现它。
if(node1.getElement().compareTo(node2.getElement()) < 0)
我需要对java.util.Iterator;
进行一些解释
因为我需要在主类中使用iteration()
。
我是Java新手。有空向新手解释。 Tnx家伙
这是全体员工代码:D https://pastebin.com/mA9igb1t
答案 0 :(得分:1)
首先:在您的export PATH=$PATH:$(go env GOPATH)/bin
方法中,您不能使用通用的main
。您必须使用正确的类型E
。
针对比较器问题,有两种解决方案:
Integer
始终是原始类型的包装器
您可以声明(例如Byte,Short,Integer,Long,Float或Double)
SLL as E
class SLL<E extends Number & Comparable> implements Iterable<E>
就可以了。if
不必实现SLL
。 Comparable
中使用BigDecimal if
BigDecimal node1Value = new BigDecimal(node1.getElement().toString());
BigDecimal node2Value = new BigDecimal(node2.getElement().toString());
关于迭代器问题,由于必须在if(node1Value.compareTo(node2Value) < 0)
对象上调用.iterator()
,因此该类必须实现Iterable。
您可以在The Java Tutorials - The Collection Interface上了解有关迭代器的信息。
我还建议看一下LinkedList