错误是:"意外类型必需变量找到值",当我分配给toSend.getNextElement()
firstElement
时。我不明白,因为toSend.getNextElement()
不是一个值而是一个对象。
public class Element{
private int _number;
private Element _next;
public Element(int number) {
_number = number;
_next = null;
}
public int getNumber() {return _number;}
public Element getNextElement() {return _next;}
private Element longerMatch(Element eOne,Element eTwo,Element firstElement,int longest){
if((eOne == null)||(eTwo == null)){
Element toSend = new Element(longest);
toSend.getNextElement() = firstElement;
return toSend;
}
else if(eOne.getNumber() > eTwo.getNumber()){
return longerMatch(eOne,eTwo.getNextElement(),null,0);
}
else if(eOne.getNumber() < eTwo.getNumber()){
return longerMatch(eOne.getNextElement(),eTwo,null,0);
}
if(longest == 0){
return longerMatch(eOne.getNextElement(),eTwo.getNextElement(),eOne,1);
}
return longerMatch(eOne.getNextElement(),eTwo.getNextElement(),firstElement,longest+1);
}
}
答案 0 :(得分:2)
您无法分配从这样的方法返回的值。如果你想操纵_next
,你应该为它设置一个setter方法:
public void setNextElement(Element next) {
_next = next;
}
答案 1 :(得分:0)
您只能为变量指定值。请参阅Java教程和Java语言规范(JLS)。