【JAVA】char数组转String的一个小坑
今天写一个图形用户界面,从JPasswordField中读取密码,存入数据库中,遇到了一个char数组转string的小坑,在这里记录一下。
首先我们都知道,char数组转化为int的几种方法:
char[] arr = new char[]{};
String str1 = String.valueOf(arr);
//不可取
String str2 = Arrays.toString(arr);
String str3 = arr.toString();
为什么说后面两种不可取呢?我们可以打印一下。
System.out.println(str1);
System.out.println(str2);
System.out.println(str3);
结果
我们可以发现只有第一种转化之后是空值,后面两种的结果都不合理。
其次,需要注意,这里str1转化后的值并不是null值。
if(str1.equals(""))
System.out.println("empty");
else
System.out.println("not empty");
结果
所以并不是null,而要用""判断。