関数からのjava.lang.Object
戻り値の型があります。Object
返された値が数値型(double
またはlong
またはint
またはbyte
またはDouble
またはLong
または....)であることを確認しByte
、それが真のFloat
場合Double
は整数ラッパー参照型に変換したい。また、Object
インスタンスがString
値を保持している場合は、それを String 参照に格納する必要があります。
質問する
3264 次
4 に答える
4
Object
関数からの戻り値の型を持つ。返されたオブジェクト値が数値型であることを確認したい (double または long または int または byte または Double または Long または Byte または Float または Double ....)
if (obj instanceof Number)
...
true の場合、Integer ラッパー参照型に変換したい
if ...
val = (Integer) ((Number) obj).intValue();
また、オブジェクト インスタンスが文字列値を保持している場合は、文字列参照に格納する必要があります。
...
else if (obj instanceof String)
val = obj;
于 2012-08-21T07:30:29.780 に答える
0
おそらく深刻な設計上の問題がありますが、目的を達成するために、instanceof演算子またはgetClass()メソッドを使用できます。
Object o = myFunction();
if(o instanceof Integer) { //or if o.getClass() == Integer.class if you want
only objects of that specific class, not the superclasses
Integer integer = (Integer) o;
int i = integer.intValue();
}
//do your job with the integer
if(o instanceof String)
//String job
于 2012-08-21T07:32:39.863 に答える
0
次のようなことができます:
Object obj = getProcessedObject();
if(obj instanceof Number) {
// convert into a Integer wrapper reference type
Integer ref1 = ((Number)obj).intValue();
}
if(obj instanceof String) {
// process object for String
String ref = (String)obj;
}
于 2012-08-21T07:31:51.483 に答える
0
Object を返すメソッドは、double、long、int などのプリミティブ型を返すことはできません。
instanceof を使用して、実際に返される型を確認できます。
if (object instanceof Number){
// want to convert into a Integer wrapper reference type
object = ((Number)object).intValue(); // might lose precision
}
型キャストによって文字列変数に割り当てることができます
if (object instanceof String){
stringVariable = (String)object;
}
于 2012-08-21T07:32:00.203 に答える