在我正在编码的类中,我通常必须将变量转换为其他数据类型。我想制作一种可以截断此过程的方法。我希望它是这样的:
public static Object typeCast(Object o, DataType type){
if (o instanceof type){
return (type) o;
}else{
return false;
}
}
但是,我不知道如何将数据类型保存为变量。这可能吗?
最佳答案
是的,每个DataType
都是一个类,您可以在运行时使用getClass()
从对象中获取它。
保存对象的类非常简单。
Class<Integer> clazz = Integer.class;
Object obj = Integer.valueOf(1);
clazz.instanceOf(obj); // will return true in that case.
如果可能的话,您还可以使用类似以下的方法进行强制转换,如果没有,则返回 null,这适用于您放入的所有类和对象。
public static <T> T typeCast(Object o, Class<T> type) {
if (type.isInstance(o)) {
return type.cast(o);
} else {
return null;
}
}
关于java - 可以将数据类型保存到变量吗? (数据类型 = 整数)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22442541/