----易混淆的概念
a. byte b = 1 + 1; (正确,1+1运算后的结果是个常量且在byte的范围内,所以可以直接赋给byte变量。)
b. byte b = 1; b = b + 1; (错误,运算b+1时b会自动提升为int型,运算后的结果仍然是int型,不能赋给byte型变量,否则会丢失精度。)
c. byte b = 1; b = b += 1; (正确,b+=1包含了一个隐藏的类型转换,相当于 b=(byte)(b+1);)
d. byte b = 1; b = ++b; (正确,b=++b也包含了一个隐藏的类型转换)
各种容器添加元素方法的区别:
StringBuffer和StringBuilder用的是append方法或insert(指定位置插入)方法;
Collection类型的集合容器用的是add方法;
Map类型集合容器用的是put方法;
properties容器用的是load方法;
注:数组的长度是固定的,不能增删。
原文件会不会被覆盖的问题:
1.当用FileWrite和FileOutputStream的构造方法关联文件(会自动创建文件)时,如果参数中带的是flase或者是没有boolean的参数时,会将相同路径下原来的同名文件覆盖;如果参数是true,则只会续写原文件(也就是从原始数据的尾部开始写),而不会覆盖。
2.File中的createNewFile()方法也不会覆盖,如果有同名文件,则不创建,如果没有,则创建。
3.其次,RandomAccessFile raf=new RandomAccessFile("random.txt","rw");当参数为"rw"时表示:当这个文件不存在时,会创建该文件,如果文件已存在,则不会创建,也不会覆盖原文件,只是将数据写在原文件上(修改)。
|
|