java常见的几个易混淆点


一.对于数组长度,字符串长度和泛型长度

      获取数组长度是属性length;          获取字符串长度是length();          获取泛型长度是size();

      字符串转化为数组

二.String,StringBuffer和StringBuilder的区别

    1.String字符串常量(不可变对象)

        String a(对象引用)="aaa"(新建一个对象); a(对象引用)="bbb"(新建一个对象)       

        对String类型进行改变的时候其实都等于生成了一个新的String对象

    2.StringBuffer字符串变量(可变对象,线程安全,用于多线程)

        主要操作是append()和inser()方法,主要是对同一个对象操作

        StringBuffer a(对象引用)=new StringBuffer("aaa")(新建一个对象);    

        a.append("bbb");  (在对象“aaa”后面加上一个字符串变成“aaabbb”,依旧是一个对象)

     3.StringBuilder(非线程安全,用于单线程)

          出现的原因:StringBuilder>StringBuffer

二.迭代器和for循环的效率比较

     参考出处:http://blog.csdn.net/c1347623993/article/details/9209767

     对于ArrayList(顺序存储)来说,for循环(最快)      foreach循环(中间)           iterator循环(最快)

     对于LinkedList(链式存储)来说   for循环(最慢)      foreach循环(最快)== iterator循环(最快)

     for循环便于访问顺序存储的记录,而foreach和迭代器便于访问链接存储。

四.java中的基本数据类型和封装类

      参考出处:http://blog.csdn.net/maggiedorami/article/details/7944459/





















































猜你喜欢

转载自blog.csdn.net/slqSLQSHILIQIANG/article/details/71882569