php网站框架,wordpress怎么保持缩略图尺寸不变,wordpress调用第一张图片不显示,phpcms做网站之前一直认为toString就是将数据转换成字符类型#xff0c;直到最近写出了一个bug才对toString有了新的认识 不同数据类型#xff0c;toString() 有不同的操作
定义一个student类#xff0c;包含姓名 String类型、性别 String类型、年龄 int 类型、分数列表 String类型的li… 之前一直认为toString就是将数据转换成字符类型直到最近写出了一个bug才对toString有了新的认识 不同数据类型toString() 有不同的操作
定义一个student类包含姓名 String类型、性别 String类型、年龄 int 类型、分数列表 String类型的list类型
public class Student {String name;String sex;int age;ListInteger scoreList;public ListInteger getScoreList() {return scoreList;}public void setScoreList(ListInteger scoreList) {this.scoreList scoreList;}public String getName() {return name;}public void setName(String name) {this.name name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex sex;}public int getAge() {return age;}public void setAge(int age) {this.age age;}Overridepublic String toString() {return Student{ name name \ , sex sex \ , age age , scoreList scoreList };}
}测试toString方法 public static void main(String[] args) {ListInteger scoreList new ArrayList();scoreList.add(1);scoreList.add(2);scoreList.add(3);Student student new Student();student.setName(ziyuan);student.setSex(F);student.setScoreList(scoreList);System.out.println(student student);}运行结果toString()方法的解析
toString调用
studentStudent{nameziyuan, sexF, age0, scoreList[1, 2, 3]}System.out.println输出字符串通过实现student对象和student“字符串的拼接其实是调用了student对象的toString()方法。 在toString方法中“name” name 也是调用了String类型的name变量的toString(),查看源代码得知String的toString方法就是返回本身所以name.toString() 返回本身name所以输出name‘ziyuan’同理得出sex‘F’ “, age” age age是int类型int类型是Java中的基本数据类型之一直接将age变量以字符串的格式拼接在”, age后面age因为没有赋值采用默认值0故最终输出age0 “, scoreList” scoreList scoreList是Integer类型的ArrayList列表拼接调用了ArrayList类型的toString查看ArrayList中的toString方法如何定义ArrayList中没有定义toString方法继续往上找查看AbstractList中如何定义
AbstractList中也没有定义继续往上找查看AbstractCollection如何定义 AbstractCollection有定义toString如下图所示 故最终输出scoreList[1, 2, 3]
ArrayList 重新了toString方法让数据内容比较直观的展示但并不是所有的类型都进行了toString方法的重写比如数组 toString方法返回的字符串表示该对象的类型和哈希码 ,如何希望返回实际的值或者其他自定义的值可以重写toString方法