我正在研究一种编程语言,我需要将一个对象(如javascript中的var)转换为它应该是的变量类型。前任:
if(object == variabletypes.string)
{
//convert object to string
}
else if(object ==variabletypes.int)
{
//convert to integer
}
感谢您的时间,任何帮助将不胜感激。
假设你有一个java.lang.Object
,这是一个开始:
Object o = /* ??? */;
if (o instanceof String)
{
String s = (String) o;
}
else if (o instanceof Integer)
{
Integer integer = (Integer) o;
int i = integer.intValue();
}
这里的“转换”主要是强制转换,假设对象已经具有正确的运行时类型,并且您不需要实际更改内部表示 - 例如,通过将 a 更改String
为int
with Integer#parseInt()
。
其他可能有用的方法(因为问题并不完全清楚)可能包括:
if(yourObject instanceof String){
String str = (String)yourObject;
}
else if (yourObject instanceof Integer){
Integer yourInt = (Integer)yourObject;
}
else if{
System.out.println("My object is a class of: "+ yourObject.getClass().getName());
}
你可以做:
object.toString(); // Returns the string value of the object, if it exists.
http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html
Java 中有几个可用的工具:
instanceof
商getClass().getName()
调用,它将为您提供对象的实际类的名称作为字符串。我不知道您所说的“转换”是什么意思,但这些是您可用的基本工具。