2016-10-18 28 views
1

我想通过setter方法将值设置为Set对象。如何通过setter方法将值设置为设置<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; 
    } 

我该如何设置这些值来设置对象。

+0

再次阅读:'userRoles.add(userRoles.setUserId(“ID “));'你必须得到。为什么你想添加一个项目在同一个列表中? –

回答

0

您使用一组与通用型的UserRole的:

但是当你尝试添加

userRoles.add(userRoles.add(... 

它试图添加布尔的外来电!

不能工作!

您会看到,Set.add()接收到“E”输入并返回布尔值。所以你不能添加(添加())!

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

长话短说:您应该仔细研究一下java基础知识。看来你真的不知道你在做什么。

1

你的问题不清楚!你想添加id到Set集合中存在的特定UserRole对象。或者你如何去做... ..?

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

听到你试图设置比UserRole对象(在你的情况下,它可能是字符串/整数),所以一般setter方法是void意味着什么也不返回!

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

因此,首先抛测对象的UserRole准备通过设置ID喜欢

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); 
相关问题