字符串比较时equals和==的区别(substring和+都会产生一个)
equals是比较字符串的内容,内容一样就返回true;
而始终记住==比较的是栈里的东西,常量字符串也是一个对象,放在堆里的。而栈里保存的(变量)是对这个字符串的引用。然后所有字符串常量"dafanzi"这种都是放在常量池的,在常量池里的只要字符串内容相等。他们的引用就相等(都存的这个常量池某一块的地址)
对于拼接符+,只要其中有一个是变量字符串。那么+结果产生的就是一个变量字符串,否则就是一个常量字符串。
对于substring生成的都是一个变量字符串。
在一个null值上调用方法,会出现错误。
string.length返回的是代码(编码)单元的数量。而不是代码(编码)点的数量。
char数据类型是一个采用UTF=16编码表示的unicode代码单元。
string.char(n)也是返回的是某个位置代码单元的值,如果这一个代码单元可以表示一个字符(UTF-16中,有的字符由两个代码单元组成),就表现为字符。
StringBuilder可以减少每次连接字符串都要构建一个新的String对象的空间浪费。(这个类只能在一个线程中编辑,不能被多线程编辑。多线程编辑的话就用替代品StringBuilder)
$<这些符号的
表示日期和时间的转换符等:FDTa……
数组长度为0和null不同
新数组变量=array.copyOf(原数组,新数组大小)
;
命令行参数,类右键,run as configurarion
Array.sort(数值型数组变量)
JAVA中只有一维数组。二维数组都是数组的数组。所以JAVA中的二维数组每一行大小可以不一样。
arrays.equals(数组a,数组b)
网友评论