関数からの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 に答える