A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马老兵 中级黑马   /  2012-4-10 10:37  /  2892 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. String s = "abcd efgh";
  2. char[] c = str.toCharArray();
  3. s = String(c);
复制代码
详细代码就不写了,基本就是这样。通过String的构造函数将字符数组转换为字符串,为什么这样写就会报错?构造函数不也是可以做直接调用的么。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

5 个回复

倒序浏览
String s = "abcd efgh";

char[] c = str.toCharArray();

s = String(c)    // 你这个明显是类型的强转,如果你想要利用构造函数来转换,那这样使用:
                   //   s =new String(c,0,c.length);

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
构造函数需要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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
宋蕈 发表于 2012-4-10 10:54
String s = "abcd efgh";

char[] c = str.toCharArray();

恩 好像是,跟强转有冲突啊。。。
回复 使用道具 举报
耿世玉 发表于 2012-4-10 11:36
恩 好像是,跟强转有冲突啊。。。

就算是强转也不是这个写法,至少我知道的强转是这样:
s=(String)c;
回复 使用道具 举报
王硕' 发表于 2012-4-10 14:28
就算是强转也不是这个写法,至少我知道的强转是这样:
s=(String)c;

有提醒我了,逛论坛真可以学东西啊:lol
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马