八大数据类型一次只能代表一个,所以不能作为返回值,
数组可以做为返回值,把excel的内容2行11列当作数组,存在二维数据里
处理ecxel-22个单元值的返回结果写什么?
1、认识二维数组是什么?
数 组:用于存储同一类型数据的一个容器。好处:可以对该容器中的数据进行编号,从0开始。数组用于封装数据,就是一个具体的实体。
如何在java中表现一个数组呢?两种表现形式。
1)、元素类型[] 变量名 = new 元素类型[元素的个数];
2)、元素类型[] 变量名 = {元素1,元素2...};
元素类型[] 变量名 = new 元素类型[]{元素1,元素2...};
公司[]:员工1{姓名、年龄、学历、经验};员工2{姓名、年龄、学历、经验};
总结:公司为集合,每个员工都有相同的属性,可以得到属性关系,并在java中需在类中定义属性
2、开发类caseInfo定义用例属性
类中定义属性,构造方法类方法,切记区分大小写
继续创建构造方法
也可以增加无参构造
增加普通方法set、get方法
也可以创建this方法
以上是caseInfo类,定义了属性,构造方法,普通方法
想要给员工1的身上属性赋值
怎么循环:笨办法
先实例化得到caseInfo对象,进行行和单元格循环,得到cell对象后,再进行判断,当j=0时,caseInfo对象setid值等于value...以此类推写完11个值
遇到问题:代码中j循环时,列下标和列属性不知道怎么对应,只能if else判断属性是否时下标
需要:列下标和列属性建立关系,{0=id、1=isValid}
3、建立列下标和列属性的对应关系
用caseSheet.getRow方法输入0,目的是为了得到列头tittleRow,基于行遍历列,循环遍历列头内容,
for循环中,i<最后一个单元格的下标,获得列头行,先使用Object对象,获得单元格值并进行tostring格式转换
当i=0,id 得到titles的值为(i,value)
4、给属性进行赋值
知道对应关系后,开始给员工1的属性进行赋值
把caseinfo对象拿过来进行循环,当i=1时,得到row对象,再实例化得到caseinfo这个对象给属性赋值,这里需要无参空构造
引出类的反射
之前是类的实例化给属性赋值,
累的反射是找到类+属性 ,强制给属性赋值
caseInfo找到这个类,下边有个方法找到定义的属性,传入title(相当于第一行第一个单元格,id)
通过字符串id找到field,私有属性不能赋值,所以需要设置访问是否可以赋值,
循环i=1,j=10遍历第1行,i=2,j=10遍历第2行
在列头和属性这里分别打印查看结果,两种数据但有乱码
需要在caseinfo类中对属性进行格式转换
得到结果就是string格式的表单