java 反射类型转换问题 本帖最后由 zjf1990 于 2015-02-20 10:48:59 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 嗯不是自动转换,obj转str就用obj的toString方法吧 ……Object object = "azzzz";……在Java中,一个字符串常量对应一个String类的对象,所以这里object实际上就是一个String的对象。在Java中,所有类派生于Object,这句Object object="azzzz"没有问题,但是实际上object就是一个String对象,这里没有类型转换。 楼主可以在Object object=“azzzz"下面加一句System.out.println(object.getClass().getName())打印输出验证下。 按你的说法那么Object object=“azzzz"String aaa = object应该可以编译通过,但实际是需要强转的 按你的说法那么Object object=“azzzz"String aaa = object应该可以编译通过,但实际是需要强转的1.首先你要区分对象引用与对象的概念(不明白可以百度之),object与aaa都是对象引用,一个是Object类型的对象引用,但是它实际上指向的是一个String类型的对象,aaa是String类型的对象引用,指向的是同一个String类型对象;2.上面的意思是在field.set(person, object)操作里,object不需要强制转换类型,因为它实际上指向一个String类型的对象,所以在调用toString方法时执行的是String.toString(),这个处理由JVM自动识别(这个叫多态)。在Java中,向上转型不用强制转换。而向下转换需要强制转换,而且需要程序员自己保证转型的安全性。你上面给出的东东就是一个向下转型。 如何通过JAVA读取图片的主色调用于颜色查询 关于thinking in java 中的一些菜鸟问题 J2EE 程序员工资怎么样? 修改信息时输入非法数据如何跳回修改页面并给出错误提示 .net怎么调用这个java接口 怎么样下载java.net的开源项目? jpa持久化出错~~~~急~~~~ 请教大家一个Java中调用其他程序exe的问题 J2EE编程指南(1.3版)书上的代码在那里下呀??!!急呀! 想学习JSSE,还没入门,特向大家请教。3X----在线等 关于spring集成hibernate获取session轮询取值错误 java调用linux命令权限不够
Object object = "azzzz";
……
在Java中,一个字符串常量对应一个String类的对象,所以这里object实际上就是一个String的对象。在Java中,所有类派生于Object,这句Object object="azzzz"没有问题,但是实际上object就是一个String对象,这里没有类型转换。
Object object=“azzzz"
String aaa = object应该可以编译通过,但实际是需要强转的
Object object=“azzzz"
String aaa = object应该可以编译通过,但实际是需要强转的
1.首先你要区分对象引用与对象的概念(不明白可以百度之),object与aaa都是对象引用,一个是Object类型的对象引用,但是它实际上指向的是一个String类型的对象,aaa是String类型的对象引用,指向的是同一个String类型对象;
2.上面的意思是在field.set(person, object)操作里,object不需要强制转换类型,因为它实际上指向一个String类型的对象,所以在调用toString方法时执行的是String.toString(),这个处理由JVM自动识别(这个叫多态)。在Java中,向上转型不用强制转换。而向下转换需要强制转换,而且需要程序员自己保证转型的安全性。你上面给出的东东就是一个向下转型。