Unclosed Character Literal错误

时间:2013-06-27 13:19:15

标签: java string char

在编写时使用BlueJ得到错误“Unclosed Character Literal”:

class abc
{
   public static void main(String args[])
   {
       String y;
       y = 'hello';
       System.out.println(y);
   }
}

但我无法弄清楚出了什么问题。 有什么想法吗?

感谢。

6 个答案:

答案 0 :(得分:42)

在Java中,单引号只能占用一个字符,必要时可以转义。您需要对字符串使用完整的引号,如下所示:

y = "hello";

您还使用了

System.out.println(g);

我认为应该是

System.out.println(y);

注意:在制作char值时(您稍后可能会使用它们),需要单引号。例如:

char foo='m';

答案 1 :(得分:6)

Java使用"String"的双引号和'C'个字符的单引号。

答案 2 :(得分:4)

我想对现有答案做一点补充。 如果为具有不正确的unicode形式的char赋值,则会得到相同的" Unclosed Character Literal错误" 就像你写的那样:

char HI = '\3072';

您必须使用正确的表格:

char HI = '\u3072';

答案 3 :(得分:1)

String y =“hello”;

会起作用(请注意双引号)。

char y ='h';  这将适用于字符(请注意单引号)

但类型是键:'(单引号)表示一个字符串,“”(双引号)表示字符串。

答案 4 :(得分:0)

''包含单个char,而“”包含String

更改

y = 'hello';

- >

y = "hello";

答案 5 :(得分:0)

字符只需要一个值花花公子!喜欢: char y ='h'; 也许您键入的字符为char y ='hello';或smthg。祝好运。对于上面提出的问题,答案非常简单,您必须使用DOUBLE QUOTES来给出字符串值。很容易;)