我必须检查数组列表中的“标记”是否按递增顺序排列。
private E[] data; // where the data is stored
private int size; // how many items have been added to the list
public TopSpinArray(int numTokens, int spinSize)
{
super(numTokens, spinSize);
data = (E[])(new Object[numTokens]);
size = 0;
}
public boolean isSolved()
{
for(int i = 0; i < numTokens; i++)
{
if(data[i] < data[i+1])
{
return true;
}
}
return false;
}
当我编译时,它说“二元运算符'<'的操作数类型错误 第一种:E;第二种:E”
如何检查它们是否在增加?
最佳答案
运算符(operator)<
仅对某些类型的对象有效。为了能够比较任何可比较类型的对象(我用你的 E
来暗示你的 token 确实实现了 Comparable
,因为否则你的问题就没有意义,)你可以使用 compareTo()
:
for(int i = 0; i < numTokens - 1; i++) {
if(data[i].compareTo(data[i+1]) > 0) {
return false;
}
}
return true;
关于java - 比较数组列表中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16004003/