Java GObject不是一个语句错误
在我的代码中,我将从另一个方法获得的GObject分配给GObject变量Java GObject不是一个语句错误,java,Java,在我的代码中,我将从另一个方法获得的GObject分配给GObject变量 private void myMethod() { if (sharp < 0) { nextMethod(); } else GObject elem = getElem(); } private GObject getElem(){ GObject elem; elem = getElementAt(xCoord, yCoord); return
private void myMethod() {
if (sharp < 0) {
nextMethod();
} else
GObject elem = getElem();
}
private GObject getElem(){
GObject elem;
elem = getElementAt(xCoord, yCoord);
return elem;
}
private void myMethod(){
如果(夏普<0){
nextMethod();
}否则
GObject elem=getElem();
}
私有GObject getElem(){
戈伯特元素;
elem=getElementAt(xCoord,yCoord);
返回元素;
}
编译器告诉我,GObject elem=getElem()代码>不是一条语句。在我看来,这是一个声明。我可能又犯了一个新手错误
有什么想法吗?如果你想用一行没有括号的else,那么它必须是这样的:
else
GObject elem = getElem();
否则,只需使用括号
else
{
GObject elem = getElem();
}
编辑:
当您执行以下操作时:
else
GObject elem = getElem();
else
下面的一行只是一条新语句,它不在else中。因此,编译器正在您的else
中查找某些内容,但没有任何内容。您没有以将第二条语句放入else的方式缩进代码 如何声明getElem()方法?发布完整的类。从你发布的代码中我看不出有什么问题。这完全一样,第二个更易于阅读。@marounnaroun是的,它是一样的。第二种方法在可读性方面要好得多,而且不容易出错。我只是想指出,他可以用两种方式做到这一点。确实如此,但这并不能回答OP的问题。@Marounnaroun我认为这就是问题的根源。除非他把问题中的代码格式化不正确。你为什么这么认为?这两种说法完全相同。