黑马程序员技术交流社区

标题: 将数组转换为字符串的疑问。。。 [打印本页]

作者: 黑马老兵    时间: 2012-4-10 10:37
标题: 将数组转换为字符串的疑问。。。
  1. String s = "abcd efgh";
  2. char[] c = str.toCharArray();
  3. s = String(c);
复制代码
详细代码就不写了,基本就是这样。通过String的构造函数将字符数组转换为字符串,为什么这样写就会报错?构造函数不也是可以做直接调用的么。
作者: 宋蕈    时间: 2012-4-10 10:54
String s = "abcd efgh";

char[] c = str.toCharArray();

s = String(c)    // 你这个明显是类型的强转,如果你想要利用构造函数来转换,那这样使用:
                   //   s =new String(c,0,c.length);
作者: newlaw2013    时间: 2012-4-10 11:01
构造函数需要new一个对象,代码这样OK:
  1. public class StringDemo {

  2.         public static void main(String[] args) {
  3.                
  4.                 String s = "abcd efgh";
  5.                 char[] c = s.toCharArray();
  6.                 String str = new String(c);
  7.                 System.out.println(str);
  8.         }
  9. }
复制代码

作者: 黑马老兵    时间: 2012-4-10 11:36
宋蕈 发表于 2012-4-10 10:54
String s = "abcd efgh";

char[] c = str.toCharArray();

恩 好像是,跟强转有冲突啊。。。
作者: 王硕'    时间: 2012-4-10 14:28
耿世玉 发表于 2012-4-10 11:36
恩 好像是,跟强转有冲突啊。。。

就算是强转也不是这个写法,至少我知道的强转是这样:
s=(String)c;
作者: 黑马老兵    时间: 2012-4-10 15:37
王硕' 发表于 2012-4-10 14:28
就算是强转也不是这个写法,至少我知道的强转是这样:
s=(String)c;

有提醒我了,逛论坛真可以学东西啊:lol




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2