我想知道是否有办法在Java中做这样的事情:
Integer a = new Integer(2);
a.getClass() newVariable = new Integer(4);
我的问题是我可以使用变量来声明新变量的类型吗?
最佳答案
无法通过从其他变量检索类型来指定类型。
<小时/>请注意the reflection tutorial Oracle 提供了一些模拟它的方法。它将允许您通过将对象类型指定为类来实例化对象。但这不允许您首先通过从变量中检索对象类型来指定对象类型。
<小时/>您可能想看看generics这可能会帮助您解决导致您提出这个问题的隐藏问题。
一个简单的例子是
public class Foo<T> {
private T t;
public void set(T t) { this.t = t; }
public T get() { return t; }
}
请注意,T
代表类型,如 documentation 所示。 .
@param the type of the value being boxed
所以你可以给出任何类型。
您还可以指定类型的扩展,这可以为您提供一些安全性。
class Foo<T extends Integer>
关于java - 在 Java 中从变量声明新类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29256124/