0

我有以下片段:

public void readUsersSugarDB() {
        // SUGAR DB TEST
        try {
            List<User> users = User.listAll(User.class);

            for (int i = 0; i < users.size(); i++) {
                User userObject = users.get(i);
                Logger.i(userObject.getUserName());
                Logger.i(userObject.toString());
            }
            //Integer userCount = User.getTableName(User.class);
            Logger.i("Users list", users);
        } catch (Exception e) {
            Logger.e("Sugar_db_exception", e.getMessage());
        }
    }

我想直接访问对象属性(姓名、姓氏),但我不能。我必须在模型上创建 getter 方法来获取姓名和姓氏。

是否可以访问对象属性而无需在模型上创建 getter?如果是的话,我该如何以正确的方式做到这一点?

非常感谢您的任何建议。

型号类:

public class User extends SugarRecord<User>{
    String name;
    String surname;

    public User() {
    }

    public User(String name, String surname) {
        this.name = name;
        this.surname = surname;
    }

    public String getUserName() {
        return this.name;
    }
}
4

2 回答 2

1

您正在使用默认修饰符,将字段声明为公共,然后您就可以通过以下方式访问它:

user.name;
user.surname;
于 2015-08-18T12:05:55.307 回答
0

userObject.getUserName()您没有正确调用方法中的属性,您必须更改userObject.name.toString()

代码将是这样的:

public void readUsersSugarDB() {
        // SUGAR DB TEST
        try {
            List<User> users = User.listAll(User.class);
            for (int i = 0; i < users.size(); i++) {
                User userObject = users.get(i);
                Logger.i(userObject.name.toString());
                Logger.i(userObject.toString());
            }
            //Integer userCount = User.getTableName(User.class);
            Logger.i("Users list", users);
        } catch (Exception e) {
            Logger.e("Sugar_db_exception", e.getMessage());
        }
  }
于 2017-02-10T19:57:10.167 回答