每日知识点20181213
java
-
s.substring(a,b)的长度:b-a.
-
String.join("/","a","b","c"):a/b/c.
-
字符串常量是共享的,而+或substring等操作产生的结果并不是共享的,所以会导致拼接后的结果随便相同,但引用的地址却不是同一个. -
Scanner in = new Scanner(System.in),String name = in.next(); //该方法以空格为分隔符,即空格符的之间的内容需要多次获取.
-
上面的读取控制台输入不适合密码,毕竟是明文,所以可采用Console类.但是Console不能在Eclipse或ide中的控制台使用,会报错.必须使用原始控制台,如在终端中编译运行Java代码即可使用.
-
float用
24位来表示精确度,int用32位来表示精确度,故当将int转换成float时可能会丢失精度. -
如果将一个类声明为final,只有其中的方法自动地成为final,而不包括域.
-
编译器对带有文件分割符和扩展名.java的文件进行操作,而java解释器加载类(带有分隔符).
-
最好不要读取在初始化块后面的域
-
自动装箱:
Integer.valueOf(int i).自动装箱规范要求boolean、byte、char<=127,介于-128~127之间的short和int被包装到固定的对象中.在Integer.valueOf(int i)中[-128,127]区间的Integer对象已经被初始化好了,每次调用只会从缓存中取,如果越过了这个区间则会创建新的对象,所以会导致超过了这个区间的Integer对象不相等. -
装箱和拆箱是
编译器认可的,而不是虚拟机.编译器在生成类的字节码时,插入必要的方法调用.虚拟机只是执行这些字节码. -
整型数组类型int[]可以被转换成Object,但不能转换成对象数组Object[].
-
invoke方法访问对象中的静态方法时,第一个参数可以被忽略,即可以将它设置为null. -
在Java8中接口可以有默认方法和静态方法.
浙公网安备 33010602011771号