为什么声明的字符为''(空)会引发异常?

时间:2013-10-22 06:09:51

标签: java exception

我写了以下代码

class JavaApplication1{
public static void main(String...strarr) throws Exception{
    char c = '';
    c = 'c';
    System.out.println(c);
}}
  

输出:线程“main”中的异常java.lang.RuntimeException:无法编译的源代码 - 错误的树类型:at   javaapplication1.JavaApplication1.main(JavaApplication1.java:6)

我没知道它为什么会抛出异常? 非常感谢您的回复

3 个答案:

答案 0 :(得分:4)

  char c = '';

由于''不是有效字符而java编译器抱怨它。

来自docs

  

char数据类型是单个16位Unicode字符。它的最小值为'\ u0000'(或0),最大值为'\ uffff'(或65,535(含))。

List you can user as char

在上面的列表中,您可以将第一个表格集元素用作char

答案 1 :(得分:1)

''在java中不是有效字符。默认char初始化为'uffff'

答案 2 :(得分:0)

由于某些未知原因,它不受支持。只需使用

char c = 0;

char c = (char) -1;

而是定义无效。