1

Javaでオブジェクトのプロパティに型変換を使用して値を割り当てる最良の方法は何ですか?

例: age フィールドを整数として持つ Person クラス。次のステートメントで age フィールドに整数 21 を代入する必要がある場合、set メソッドの実装はどのようにする必要がありますか? [注: 21 は文字列として渡されます]

ObjectUtils.set(person, "age", "21");

1 つの方法は、フィールドの型を取得し、明示的に型をキャストすることです。これを達成するために利用できるより良いアプローチまたはライブラリユーティリティはありますか?

4

3 に答える 3

3

BeanUtils.setProperty()を見てください:

指定されたプロパティ値を設定し、必要に応じて型変換を実行して、宛先プロパティの型に準拠させます。

于 2013-05-23T07:04:51.327 に答える
0

set メソッドで Integer.parseInt(String) を使用します。無効な番号の例外を必ずキャッチしてください。parseInt の javadoc は次のとおりです。

parseInt

public static int parseInt(String s) throws NumberFormatException文字列引数を符号付き 10 進整数として解析します。文字列内の文字はすべて 10 進数でなければなりませんが、最初の文字は負の値を示す ASCII マイナス記号 '-' ('\u002D') にすることができます。結果の整数値が返されます。これは、引数と基数 10 が parseInt(java.lang.String, int) メソッドの引数として指定された場合とまったく同じです。パラメータ: s - 解析される int 表現を含む文字列 戻り値: 10 進数で引数によって表される整数値。例外: NumberFormatException - 文字列に解析可能な整数が含まれていない場合。

于 2013-05-23T06:59:41.157 に答える