我们可以从java中的字符串声明数据类型吗

我们可以从java中的字符串声明数据类型吗,java,Java,假设我有一个名为samplestring的字符串 String samplestring="int"; 我可以像这样声明一个名为samplenumber的int类型变量吗 samplestring samplenumber; 而不是 int samplenumber; 可以像这样投射具有反射的对象: String datatype = "java.lang.Integer"; Object integer = 42; Object castedInteger = null; try {

假设我有一个名为samplestring的字符串

String samplestring="int";
我可以像这样声明一个名为samplenumber的int类型变量吗

samplestring samplenumber;
而不是

int samplenumber;

可以像这样投射具有反射的对象:

String datatype = "java.lang.Integer";
Object integer = 42;
Object castedInteger = null;

try {
    Class intClass = Class.forName(datatype);
    castedInteger = intClass.cast(integer);

    System.out.println(integer.getClass() + " " + castedInteger.getClass());
} catch (ClassNotFoundException e) {
        e.printStackTrace();
}
但老实说:你为什么需要这个?输出将是:


class java.lang.Integer class java.lang.Integer

简短回答:不。不再回答:您需要使用反射来完成此操作。但是只使用Integer类的实例,而不使用基元类型。不。编译器必须在编译之前了解所有变量的类型/详细信息。简短回答:不。长回答:不。为什么需要这个?泛型不能满足您的需求吗?