我们可以从java中的字符串声明数据类型吗
假设我有一个名为samplestring的字符串我们可以从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 {
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类的实例,而不使用基元类型。不。编译器必须在编译之前了解所有变量的类型/详细信息。简短回答:不。长回答:不。为什么需要这个?泛型不能满足您的需求吗?