如何通过setter方法

时间:2016-10-18 06:49:16

标签: java collections

我想通过setter方法将值设置为Set object。

     @Override
    public User mapRow(final ResultSet resultSet, final int rownumber)
                            throws SQLException {

     Set<UserRole> userRoles = new HashSet<UserRole>();

     // tried with like this but it is not possible

     userRoles.add(userRoles.setUserId("ID"));

     return null;
    }

如何设置这些值以设置对象。

2 个答案:

答案 0 :(得分:1)

你的问题不明确!您想将ID添加到Set集合中存在的特定UserRole对象中。或者你是如何做的......?

你做什么你的Set是UserRole对象的genaric,所以你只能添加UserRole的对象而不是任何其他类型!。

听到你试图设置UserRole对象以外的其他对象(在你的情况下它可能是String / Integer)所以usully setter方法是void意味着什么都不返回!!!

userRoles.add(userRoles.setUserId("ID"));

首先通过设置ID

来准备UserRole对象
UserRole role = new UserRole();

// Set what ever the value you want 

role.setId("ID");

然后按照下面的方式行事

Set<UserRole> userRoles = new HashSet<UserRole>();

     // tried with like this but it is not possible

     userRoles.add(role);

答案 1 :(得分:0)

您正在使用具有通用类型UserRole的Set:

但是你要添加

userRoles.add(userRoles.add(...

尝试为外部调用添加布尔

无法工作!

你知道,Set.add()需要&#34; E&#34;输入并返回布尔值。所以你不能添加(add())!

然后:你的方法应该返回 User 类型的对象;但是你创建了一个Set<UserRole> ...你也想要返回。

故事很长:你应该先仔细研究一下java基础知识。看来你真的不知道自己在做什么。