Java 在引号内定义的字符数组?

Java 在引号内定义的字符数组?,java,string,Java,String,我从这里得到了这个示例代码: 这个代码对我不起作用 字符数组定义为字符串。 copyValueOf不可识别! 现在我将其更改为: char[] Str1 = {'t','o','o','k'}; String Str2; Str2 = copyValueOf( Str1 ); System.out.println("Returned String " + Str2); Str2 = copyValueOf( Str1, 5, 10 );

我从这里得到了这个示例代码:

这个代码对我不起作用

字符数组定义为字符串。 copyValueOf不可识别! 现在我将其更改为:

    char[] Str1 = {'t','o','o','k'};
      String Str2;

      Str2 = copyValueOf( Str1 );
      System.out.println("Returned String " + Str2);

      Str2 = copyValueOf( Str1, 5, 10 );
      System.out.println("Returned String " + Str2);
copyValueOf仍不工作吗? 我已经检查了这个方法,它存在于文档中

与C不同,char[]不是字符串,反之亦然。 您需要指定类:

Str2 = String.copyValueOf( Str1 );
您的代码中可能缺少一个。将以下内容添加到文件顶部:

import static java.lang.String.copyValueOf;
或者,您可以显式地指定该类。因为看起来是这样的:

String.copyValueOf(Str1);
以下是问题:

不能通过字符串分配字符数组。它们在Java中是不同的。你可以看到一个例子。 您应该使用String.copyValueOf,因为它是String的静态类方法。
+1我不知道静态导入,但我认为String.copyValueOf更好,谢谢@Bernard—那么您使用的代码示例可能是针对比您使用的Java版本更新的版本。静态导入对Java5来说是新的。@Bernard-尝试从命令行运行命令Java-showversion;如果java版本X.X.X编号小于1.5,则无法使用静态导入。我想。我不是Java版本的专家…@RichardJPLeGuen:import static Java.lang.String.copyValueOf;不适用于我,但当我显式使用该类时,它运行良好。@RichardJPLeGuen这里是java版本1.6.0%37,没错。现在它工作得很好。愚蠢的网站举了错误的例子。谢谢你的回复。你得到它的地方是出版100%非编译的废话,以后应该避免。
String.copyValueOf(Str1);