Java char数组转String的一个小坑

【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);

结果
结果1
我们可以发现只有第一种转化之后是空值,后面两种的结果都不合理。

其次,需要注意,这里str1转化后的值并不是null值。

	if(str1.equals(""))
        System.out.println("empty");
    else
        System.out.println("not empty");

结果
结果2
所以并不是null,而要用""判断。

你可能感兴趣的:(Java学习,#,java随笔)