可以保存Java中任何数据类型的变量

时间:2018-06-29 12:30:47

标签: java android

我需要一个可以容纳任何数据类型的变量。它可以是byteString。这在Java中可行吗?我知道在Swift中有一个名为Any的数据类型可以做到这一点。

2 个答案:

答案 0 :(得分:2)

Java中没有“ any”类型,也没有与引用类型和原始类型都兼容的Java类型。

您能做的最好的事情是使用java.lang.Object,它可以用于保存任何引用类型,并将原始值转换为相应的包装器类型。例如将int值转换为Integer值。但是一旦完成此操作,就无法区分(例如)intInteger的值。


当然,您可以编写一堆代码,将几乎所有Java值转换为字节数组或String ...,然后返回。但是我怀疑那不是你在说什么。

答案 1 :(得分:0)

OBJECT类型的变量,当作为参数传递时可以保存任何类型的数据类型。甚至您都可以尝试使用Java泛型。

class Printer
{
    public  void printArray(Object[] a)
    {
        for(Object ob:a)
            System.out.println(ob);
    }  
}

public class Solution {

    public static void main( String args[] ) {
        Printer myPrinter = new Printer();
        Integer[] intArray = { 1, 2, 3 };
        String[] stringArray = {"Hello", "World"};
        myPrinter.printArray(intArray);
        myPrinter.printArray(stringArray);
        int count = 0;
    }
}