【发布时间】:2014-04-23 23:44:24
【问题描述】:
我可以在使用instanceof 的程序中测试班级类型,或者获取一个标识班级关系的字段。所以选择是在
if(myObjec instanceof Something){
}
和
if(myObjec.geClassType().equals("Something")){
}
就效率而言,什么是最好的?
geClassType() 是我正在工作的程序对象中存在的一种方法(不是标准的 java 方法),并且是一种返回带有类名的字符串的方法。创建对象时,名称作为字段传递
编辑
我在代码的第二个示例中得到的字段并不能准确识别类,而是一个类别,并且也用于不同的例程,但我也可以将其用于此目的,因为我为每个类别使用了一个特定的对象。
所以我将此报告为getClassType,以使我的问题更清楚。
【问题讨论】:
-
首先没有什么比
geClassType()更好其次instanceof更好 -
@JigarJoshi 在我正在工作的程序的对象中
-
@AndreaF 你的意思是
getClass().getName()? -
呸。您应该避免编写这样的代码!不会通过我的代码审查。
标签: java