在编写时使用BlueJ得到错误“Unclosed Character Literal”:
class abc
{
public static void main(String args[])
{
String y;
y = 'hello';
System.out.println(y);
}
}
但我无法弄清楚出了什么问题。 有什么想法吗?
感谢。
答案 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来给出字符串值。很容易;)