当我跑步

char c= '\u0000';
System.out.println(c);


在Eclipse中,它会打印一个小方块,表示一个空字符。
但是当我在CLI中运行它时,它会显示“ a”。
然后,我在其他计算机上运行它,有些打印“ a”,有些打印一个空格。

为什么会这样?

我的操作系统是Windows 7 Professional-32bit。其他系统是Windows xp。
我的Java版本是jdk_1.6.0update12。

最佳答案

它不为我打印:

public class Mkt {
 public static void main(String[] args) {
    char c= '\u0000';
    System.out.println("-" + c + "-");
  }
}

$ javac Mkt.java && java Mkt
--


Ubuntu 11.10在这里:

$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)


检查/尝试的事情:


更改终端窗口的字体
您是否在计算机上尝试了其他Java版本?
您的机器和您尝试过的其他机器之间是否有不同之处?
Cygwin内部尝试
尝试使用其他控制台模拟器,例如Console
重定向到文件(java Mkt > some_file.txt)并查看其中的内容,最好使用一些十六进制编辑器
制作一个小型的Swing应用程序,并在JTextArea中显示该应用程序,以查看是否显示相同的内容
\u0001显示什么?

10-06 13:47
查看更多