-
StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。
查看全部 -
在需要频繁对字符串进行修改操作时使用 StringBuilder 的效率比 String 要高
查看全部 -
实际应用中的经验与总结
处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理
在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常
对于不确定的代码,也可以加上try-catch,处理潜在的异常
尽量去处理异常,切忌只是简单的调用printStackTrace()去打印输出
具体如何处理异常,要根据不同的业务需求和异常类型去决定
查看全部 -
1、 通过 String s1="爱慕课"; 声明了一个字符串对象, s1 存放了到字符串对象的引用,在内存中的存放引用关系如下图所示:
然后通过 s1="欢迎来到:"+s1; 改变了字符串 s1 ,其实质是创建了新的字符串对象,变量 s1 指向了新创建的字符串对象,如下图所示:
2、 一旦一个字符串在内存中创建,则这个字符串将不可改变。如果需要一个可以改变的字符串,我们可以使用StringBuffer或者StringBuilder
3、 每次 new 一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用 ”==” 比较时也为 ”false” ,如果只需比较内容是否相同,应使用 ”equals()” 方法
查看全部 -
set内容是无序的
set内容是不可重复的
查看全部 -
try 或者catch块中没返回,则在finally外可添加返回
查看全部 -
使用foreach循环
for(int num:nums)
查看全部 -
基本类型无法转换为其他的包装类,必须先转到自己对应的包装类,再转换为其他的包装类。
查看全部 -
装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱。
拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱。
查看全部 -
1查看全部
-
Map&HashMap
Map接口:提供一种映射关系,元素以键值对key-value存储,能根据Key快速查找value;key不可重复但value可以,Map中的键值对以Entry类型的对象实例形式存在,支持泛型,Map<K,V>
HashMap类:常用基于哈希表实现,Entry对象无序排列,key-value可以为null,但一个HashMap一个key值为null
查看全部 -
泛型不能用基本类型,必须用它的包装类。
泛型集合中不能添加泛型规定的类型及其子类型以外的对象,否则会报错!
查看全部 -
public void testIterator(){ Iterator it = coursesToSelect.iterator(); System.out.println("有如下课程待选(通过迭代器访问):"); while(it.hasNest()){ Course cr = (Course)it.next(); System.out.println("课程:"+cr.id+":"+cr.name);
查看全部 -
通过迭代器来遍历List:
1 迭代器本身也是一个接口,是Iterator 例子为:Iterator it = coursesToSelect.iterator();
2 他有一个hasNext的方法 即如果含有元素便返回一个真值。
3 可以用next的方法来取出元素
也可以通过for each 去遍历
查看全部 -
在往集合中添加元素时用到了Arrays.asList方法,该方法是将数组转化为list。有以下几点需要注意:
(1)该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean)
(2)该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新
(3)不支持add和remove方法
查看全部
举报