A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

info[0]是字符串,info[1]是整数,info[2]是整数,info[3]是整数
Student stu = new Student(info[0],Integer.parseInt(info[1]),
                                                 Integer.parseInt(info[2]) ,
                                                 Integer.parseInt(info[3]));
为什么要加Integer.parseInt?
Student stu = new Student("zhangsan",20,28,29)这样不行吗?

3 个回复

倒序浏览
info是一个数组吧,数组只能定义一种数据类型。
回复 使用道具 举报
本帖最后由 杰可可 于 2015-6-22 09:47 编辑

如果你定义的数组元素类型是String,那么在调用数组元素时候,info[1]、info[2]和info[3]里面的值看起来是整数,其实它们真正的数据类型是String型。因此,当你创建对象为其对象属性初始化而调用它们时,必须要把这三个数组元素转换成整形。给楼主举了个简单例子:    public class HeiMaJava {
        String name;
        int height;          //请注意这里是int型
        int weight;         //请注意这里是int型
        public HeiMaJava(String name,int height,int weight){      //构造方法为属性初始化
                this.name=name;
                this.height=height;
                this.weight=weight;
        }
        public void test(){
                System.out.println(name);
                System.out.println(height);
                System.out.println(weight);
        }

        public static void main(String[] args) {
          String[] info=new String[]{"zhansan","34","53"};
          //下面为创建对象并为其属性初始化。要通过Integer.parseInt()
          //把字符串数组info中字符串类型的元素info[1]、info[2]和info[3]转换成整形
          //因为对象属性中的两个是int型
          HeiMaJava hm=new HeiMaJava(info[0],Integer.parseInt(info[1]),Integer.parseInt(info[2]));       //传参进行初始化
          hm.test();
        }
}
回复 使用道具 举报
1楼2楼说的都有道理。。
你没把info的定义写出来,我们回答也不好猜额。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马