char a[]=new char[3];
String s;
a=jPasswordField.getPassword();
s=new String(a);
这样写是可以的但是为什么下面这么写就不行。
char a[]=new char[3];
String s;
a[0]=jPasswordField.getPassword();
s=new String(a[0]);
如果我想把其他数据放到数组的第1个之后的其他元素后要怎么写
还有把第一个元素之后的数组转换成字符串

解决方案 »

  1.   

    a[0]表示一个字符,a表示一个字符数组,
    前面是一个基本类型,后面是一个对象
    想不通,你为什么不直接  s= jPasswordField.getPassword(); 
    如果jPasswordField.getPassword(); 是数组的话,你也可以直接s = new String(jPasswordField.getPassword()); 
    )
      

  2.   

    String可接受的初始化方法是
    String(char[])
    你传入char当然是错的1.
    char[] tmp = new char[0];
    tmp[0] = a[0];
    String s = new String(tmp);
    2.
    String s = new String();
    s += char[0];
    转换数组
    StringBuilder sb = new StringBuilder();
    for(int i = 1; i < a.length(); i ++)
     sb.append(a[i]);String s = sb.toString();
      

  3.   

    先把整个数组转成String, 再用 substring 截出需要的