== 比较运算符 :
基本数据类型:比较的是值
引用数据类型:比较的是地址
equal()方法:
默认比较两对象地址 (可重写改为比较对象值)
只有String的equal是默认比较值
string本身是不可改变的,它只能赋值一次。
每一次内容发生改变,都会生成一个新的对象,然后原有的对象引用新的对象,这会降低系统性能。
StringBuilder类的每次操作都是对自身对象进行操作,而不是生成新的对象。
其所占空间会随着内容的增加而扩充。
这样,在做大量的修改操作时,不会因生成大量匿名对象而影响系统性能,所以速度要比String快很多。
注:StringBuilder bu.toString 返回的String值所在地址比较特殊,似乎不在字符串常量池内
(包装类)Integer Character等:
是因为ArrayList、HashMap等容器只能装Object,故将基本数据类型包装成为对象,方便使用。
迭代器遍历集合:
//1.使用集合中iterator()方法获取迭代器实现类对象
Iterator<String> it=coll.iterator();
while(it.hasNext()){//2.使用hasNext判断是否有下一个元素
System.out.println(it.next());//3.使用Iterator接口中next方法取出集合下一个元素
}
增强for循环:底层使用迭代器,简化了迭代器的书写,用来遍历集合和数组
增强for循环遍历集合
for(Object obj:coll){
System.out.println(obj);
}