0

嗨,伙计们,我遇到了这样的麻烦嵌入标题的对象名称

在带有组合框的对话框中

    public JComboBox<IngrMeasureUnit> getUnits(){
     JComboBox<IngrMeasureUnit> result = new JComboBox<IngrMeasureUnit>();
        for ( int i = 0; i < parent.getIngrList().imul.getSize(); i++ ) {
            result.addItem(parent.getIngrList().imul.getMeasureUnit(i));
        }        
     return result;
}

和班级

public class IngrMeasureUnit {

private int id;
private String name;
private boolean mustInt;

public IngrMeasureUnit( int id, String name, boolean mustInt ) {
    this.id = id;
    this.name = name;
    this.mustInt = mustInt;
}

public String toSrting() {
    return name;
} 

无法理解这种行为,因为在其他情况下它有效。试图把@Override注解,编译器拒绝它。谢谢。

4

1 回答 1

1

您的方法被命名toSrting()而不是toString(). @Override当您的意图是覆盖方法时,请始终使用注释。这样,如果您不这样做,编译器将发出错误:

@Override
public String toSrting() { // compiler error, because toSrting() doesn't override anything

试图把@Override注解,编译器拒绝它。

编译器恰好拒绝了它,因为该方法没有覆盖任何东西。错误的意思是:你想覆盖一个方法,但你没有。出了点问题。在这种情况下,您应该修复方法签名,而不是删除注释。

于 2013-01-05T08:21:48.240 回答