在运行时将相同变量存储不同的数据类型

问题描述:

我是android开发新手。我面临着在同一个变量中存储不同类型数据的困难。在运行时将相同变量存储不同的数据类型

实施例:

欲整数值1或字符串值“一”或双值1.0在运行时,当用户按下按钮存储我的变量。但在这里我没有看到任何数据类型。如果我将变量声明为String,则不能存储整数值。如果我将变量声明为整数,则不能存储String值。

在此先感谢。

+1

Java是一种静态类型语言。您不能使用相同的变量来存储不同类型的数据。总之,你想要的是不可能的。 –

+0

你可以在String变量中使用'String.valueOf(value)',这里value = int,boolean,long等。但在这里你的int,long值存储为一个唯一的字符串,当你得到这个值时,再次将它转换为你的特定数据类型。 –

+0

其可能性。请检查接受的答案 –

你可以声明你的类型的变量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

感谢哥们。有用 –