avatar
这道题该走什么路# Java - 爪哇娇娃
o*h
1
不用 instanceof operator 或 the isInstance() method
怎样测出某个instance是不是某个class的instance
Your idea is appreciated
avatar
p*e
2

call getClass().getName() and compare to class name
This may work only for public classes

【在 o****h 的大作中提到】
: 不用 instanceof operator 或 the isInstance() method
: 怎样测出某个instance是不是某个class的instance
: Your idea is appreciated

avatar
b*o
3
SomeClass obj;
Object param;
try{
obj = (SomeClass) param;
System.out.println("Yes, it is a instance of SomeClass");
}catch(ClassCastException e){
System.out.println("No, it isn't.");
}


【在 o****h 的大作中提到】
: 不用 instanceof operator 或 the isInstance() method
: 怎样测出某个instance是不是某个class的instance
: Your idea is appreciated

avatar
o*h
4

//要求做成一个method, 于是,偶这样
class Collie extends Dog{
public boolean isa(String className){ //需要全路径,如java.lang.Object
Collie param=new Collie();
try {
Class SomeClass = Class.forName(className);
// System.out.println(SomeClass);
Object obj = SomeClass.newInstance();
obj=(SomeClass)param; // 这里总是有问题呢,该怎么办 ???
return true;}
catch(Exception e){return false;}
}
}
另外一种方法倒是没问题,并且不必输入全路径,但好像烦了很多
class Collie extends Dog{
public boolean isa(String className){


【在 b**o 的大作中提到】
: SomeClass obj;
: Object param;
: try{
: obj = (SomeClass) param;
: System.out.println("Yes, it is a instance of SomeClass");
: }catch(ClassCastException e){
: System.out.println("No, it isn't.");
: }
:

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。