在运行时将相同变量存储不同的数据类型
问题描述:
我是android开发新手。我面临着在同一个变量中存储不同类型数据的困难。在运行时将相同变量存储不同的数据类型
实施例:
欲整数值1或字符串值“一”或双值1.0在运行时,当用户按下按钮存储我的变量。但在这里我没有看到任何数据类型。如果我将变量声明为String,则不能存储整数值。如果我将变量声明为整数,则不能存储String值。
在此先感谢。
答
你可以声明你的类型的变量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
感谢哥们。有用 –
Java是一种静态类型语言。您不能使用相同的变量来存储不同类型的数据。总之,你想要的是不可能的。 –
你可以在String变量中使用'String.valueOf(value)',这里value = int,boolean,long等。但在这里你的int,long值存储为一个唯一的字符串,当你得到这个值时,再次将它转换为你的特定数据类型。 –
其可能性。请检查接受的答案 –