3

Android で使用する Java ライブラリを実装する際に深刻な問題が発生します。グローバル変数が必要です。シングルトンを適用することでこれを解決しました。

しかし今、 type を指定せずに変数を使用する必要があります。解決策として、Object o を使用して見つけました。

オブジェクト o、oの型を確認するにはどうすればよいですか?

o.isArray () // Ok is type Array

しかし、それが int か double かどうかを知るには ...?

オブジェクトまたは任意のタイプの変数を使用する別の解決策は?

例えば:

public String arrayToString (Object o) {
    if (o.getClass (). isArray ()) {
        Arrays.toString return ((Object []) o);
        Else {}
        o.toString return ();
    }
}

Object [] a = (Object []) LIB.getConf ("test");
a_edit [0] = "new value";
a_edit [1] = 2013;

x.arrayToString ("test") / / return test
x.arrayToString (1989) / / return 1989
x.arrayToString (a) / / return [new value, 2013]

ありがとうございます、

4

4 に答える 4

8

演算子を使用しinstanceofます。

例えば:

if (o instanceof Integer) {
   //do something
} else if (o instanceof String) {
   //do something else
} else if (o instanceof Object[]) {
   //or do some other thing
} else if (o instanceof SomeCustomObject) {
   //....
}
于 2013-05-09T12:26:32.310 に答える