2012-01-23 7 views
4

私のような私のRowMapperのを持っています。だから私は、列挙のUserTypeへUSERTYPEためデシベルで整数値をキャストしようとしていますrowmapperでresultsetを列挙型にキャストする方法は?

private static final class UserRowMapper implements RowMapper<User> { 

    User user = new User(); 

     user.setId(rs.getInt("id")); 
     user.setUserType((UserType)rs.getInt("userType")); // ????? 

    return user; 

} 

なぜこれは機能しませんか?

答えて

7

キャストしますか?いいえ、できません。

Stringが有効である限り、valueOfを呼び出してStringからEnum値を取得できます。

2

あなたはEnum.values()へのインデックスすることができます

user.setUserType(UserType.values()[rs.getInt("userType")]); 

あなたは、いくつかのエラーチェックを入れすることがあります。 :)

関連する問題