黑马程序员技术交流社区

标题: 为什么这么简单的小程序,就是通不过编译呢?求解? [打印本页]

作者: HeiMaYSL    时间: 2012-5-11 13:04
标题: 为什么这么简单的小程序,就是通不过编译呢?求解?

为什么这么简单的小程序,就是通不过编译呢?


作者: 徐然    时间: 2012-5-11 13:24
因为你sop里传入的参数是String类型,而al.indexOf()返回的是int类型
你把sop的参数改为Object obj就没问题了
作者: 杨鹏    时间: 2012-5-11 13:41
你在定义sop时候,形参是String类型的,而在主函数里面sop(al.indexOf("shu02"))中al.indexOf("shu02")返回的是一个int类型的数据,也就是说把一个int类型的数据让String类型的变量来接收,int类型的数据不会自动转换为String类型,这样自然就错了。而sop函数形参的类型改为Object,这样就会有一个自动装箱的过程(即把基本数据类型int转换为其对应的包装类Integer对象),再实现多态就Ok了。
作者: 杨鹏    时间: 2012-5-11 13:41
你在定义sop时候,形参是String类型的,而在主函数里面sop(al.indexOf("shu02"))中al.indexOf("shu02")返回的是一个int类型的数据,也就是说把一个int类型的数据让String类型的变量来接收,int类型的数据不会自动转换为String类型,这样自然就错了。而sop函数形参的类型改为Object,这样就会有一个自动装箱的过程(即把基本数据类型int转换为其对应的包装类Integer对象),再实现多态就Ok了。
作者: 黄坚声    时间: 2012-5-11 13:45
在仔细看过你的代码了,在第23行出了问题,解决办法跟楼上说的差不多。
sop里传入的参数是String类型,而al.indexOf()返回的是int类型

作者: HeiMaYSL    时间: 2012-5-11 14:35
杨鹏 发表于 2012-5-11 13:41
你在定义sop时候,形参是String类型的,而在主函数里面sop(al.indexOf("shu02"))中al.indexOf("shu02")返回 ...

哦了。是这的问题,谢了啊。呵呵
作者: 黄坚声    时间: 2012-5-11 17:48
在仔细看过你的代码了,在第23行出了问题,解决办法跟楼上说的差不多。
sop里传入的参数是String类型,而al.indexOf()返回的是int类型





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2