java中的object自动转换成原来的类型
object是一个参数传入一个方法中,在方法中根据object原来的类型进行强转如:if(objectinstanceofA){Aa=(A)object;}现在我有很多实...
object是一个参数传入一个方法中,在方法中根据object原来的类型进行强转如:
if(object instanceof A)
{
A a =(A)object;
}
现在我有很多实体类,如果一个个写if要写很多,有没有什么方法,可以自动转换为相应的类型 展开
if(object instanceof A)
{
A a =(A)object;
}
现在我有很多实体类,如果一个个写if要写很多,有没有什么方法,可以自动转换为相应的类型 展开
4个回答
展开全部
写泛型 肿么写咧! 从代码上看 现在object本来就相当于一个大的泛型,它可能是各种类型值, 要转化成A B C等类型! 我愚笨, 觉得要不就提个方法出来,然后if排下去吧! 自动转化... 不好弄吧! 谁知道你要转化成哪个类型! 比如一个数字65, 它既可以转化成int型表示65 又可以表示char型 即字母a, 如果自动转化 转成哪个好呢? 而且 下转型 一般都是强转吧, 下转型应该不存在自动转化这种~ 说错了不要喷,共同学习~
追问
object.getClass()通过这个方法可以知道能转成什么类型,有办法用这个告诉机器要转换成什么类型吗?
追答
研究了好一会~ 搞不定的样子~ 抱歉了 帮不上啥~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过重载方法就可以实现。比如:
public boolean equals(A a){...}
public boolean equals(B b){...}
public boolean equals(C c){...}
通过这种方式,你只要专心实现每一种类型的比较就可以了。jvm会自动匹配方法的参数类型。
public boolean equals(A a){...}
public boolean equals(B b){...}
public boolean equals(C c){...}
通过这种方式,你只要专心实现每一种类型的比较就可以了。jvm会自动匹配方法的参数类型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
// 传入实体entityA
Object a = entityA;// 无法调用entityA的方法,除非每个entity都实现相同的接口,这样可行.
Object a = entityA;// 无法调用entityA的方法,除非每个entity都实现相同的接口,这样可行.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-06-13
展开全部
把你的方法,改写成泛型方法
追问
我去试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询