【问题标题】:How to set a value of a class如何设置类的值
【发布时间】:2017-07-03 13:47:16
【问题描述】:

我有一个带有内部类的简单类。

我要设置以下内容:

users[0][user_id]=8
users[1][user_id]=25

这是类:

public class ChatRequest {

    private List<Userbean> users;

    public List<Userbean> getUsers() {
        return users;
    }

    public void setUsers(List<Userbean> users) {
        this.users = users;
    }

    public static class Userbean {

        private int user_id;

        public int getUser_id() {
            return user_id;
        }

        public void setUser_id(int user_id) {
            this.user_id = user_id;
        }
    }
}

我试过了,但没有成功。

如何将第一个用户的用户ID设置为8,将第二个用户的用户ID设置为25?

【问题讨论】:

  • 请阅读minimal reproducible example。我不太清楚你在问什么。
  • 这些是 Java 的基础。这与 Android SDK 或任何其他框架无关。请先学习java基础...

标签: java android parameters model


【解决方案1】:

这些是java基础。在参考 Android SDK 或其他内容之前,请先查看 java 学习书/页面。

但是。您的“模型”(或简单的类)是正确的。要使用这些类(并设置所需的 ID),您首先需要一些 UserBean 的实例。

final ChatRequest.Userbean user0 = new ChatRequest.Userbean()
final ChatRequest.Userbean user1 = new ChatRequest.Userbean()

然后就可以给它设置ID了:

user0.setUser_id(8);
user1.setUser_id(25);

要最终将这些用户添加到ChatRequest,您还需要一个实例:

final ChatRequest chatRequest = new ChatRequest();

像这样添加用户一个简单的调用:

chatRequest.setUsers(Arrays.asList(user0, user1));

要清楚。这些是创建实例和为类/“模型”设置一些值的基础。

我认为要回答您的问题,我们需要一些“先决条件”。我们假设“某人”已经创建了一些用户并将其设置为您在“回调”中收到的ChatRequest 对象。要更改 Userbean 值的某些属性,可以通过以下方式完成:

@Override
public void onChatRequestCreated(ChatRequest request) {
    request.getUsers().get(0).setUser_id(8);
    request.getUsers().get(1).setUser_id(25);
}

【讨论】:

  • 我设置ChatRequest chatRequest = new ChatRequest(); chatRequest.getUsers().get(0).setUser_id(8);是错误的
  • 显然。您尚未创建用户并将其设置为 ChatRequest。请再仔细阅读我的回答...它回答了你所有的问题。
【解决方案2】:

要设置这些值,您应该使用以下代码:

users.get(0).setUser_id(8);

users.get(1).setUser_id(25);

【讨论】:

  • 我的模型是真的吗?
  • 是的,你的模型和你的类都是真的。我们谈论的是 Java 基础而不是 android :)
猜你喜欢
  • 2021-12-01
  • 1970-01-01
  • 2010-09-05
  • 2014-11-22
  • 1970-01-01
  • 2017-10-13
  • 2020-10-13
  • 1970-01-01
  • 2011-09-08
相关资源
最近更新 更多