2016-04-22 20 views
-1

私はアンドロイド開発には初めてです。私は、同じ変数に異なる種類のデータを格納するのが困難に直面しています。実行時に同じ変数に別のデータ型を格納します

例:

私は、ユーザーの押しボタン、実行時に私の変数に整数値1または文字列値「1」またはdouble値1.0を格納したい

。しかしここで私はこれのためのデータ型を見ません。変数をStringとして宣言すると、整数値を格納できません。変数を整数として宣言すると、String値を格納できません。

ありがとうございます。

+1

Javaはスタティック型言語です。異なる種類のデータを格納するために同じ変数を使用することはできません。要するに、あなたが望むものは不可能です。 –

+0

文字列変数に 'String.valueOf(value)'、ここではvalue = int、boolean、longなどを使用できます。ここではint型のlong値ストアを唯一の文字列として格納していますが、この値は特定のデータ型に再度変換するよりも価値があります。 –

+0

可能です。受け入れられた回答を確認してください –

答えて

2

あなたはObject

Object val; 

val = Integer.valueOf(12); 
val = Double.parseDouble("12") 
val = String.valueOf("12"); 

後で、テストする必要がありますvalの内容を読み取るためにはタイプ、または例instanceofを使用してあり、所望の型にキャストしたタイプのあなたの変数を宣言することができます...

Object val = Integer.valueOf(12); 
if(val instanceof Integer){ 
    Integer i = (Integer)val; 
    int iVal = i.intValue(); 
}else if(val instanceof Double){ 
    //... 
}else if (val instanceof String){ 
    //... 
}//... 
+0

ありがとうございました。できます –

関連する問題