Java 转义字符'\';不';在System.out.println()中不显示,但在返回值中显示
在Java中,当我用转义字符替换Java 转义字符'\';不';在System.out.println()中不显示,但在返回值中显示,java,Java,在Java中,当我用转义字符替换字符串中的字符时,字符会显示在返回值中,尽管根据System.out.println,它们不在返回值中 String[][][] proCategorization(String[] pros, String[][] preferences) { String str = "wehnquflkwe,wefwefw,wefwefw,wefwef"; String strReplaced = str.replace(",","\",\""); //replace ,
字符串中的字符时,字符会显示在返回值中,尽管根据System.out.println
,它们不在返回值中
String[][][] proCategorization(String[] pros, String[][] preferences) {
String str = "wehnquflkwe,wefwefw,wefwefw,wefwef";
String strReplaced = str.replace(",","\",\""); //replace , with ","
System.out.println(strReplaced);
控制台输出为:wehnquflkwe”、“wefwefw”、“wefwefw”、“wefwef
String[][][] array3d = new String[1][1][1]; // initialize 3d array
array3d[0][0][0] = strReplaced;
System.out.println(array3d[0][0][0]);
return array3d;
}
控制台输出为:
WEHQUFLKWE、WEFW、WEFW、WEF
现在返回值为:
[“wehnquflkwe\”,“WEFWEW\”,“WEFWEW\”,“wefwef”]]
我不明白为什么\
显示在返回值中,而不是System.out.println
System.out.println
将字符串打印成与存储在内存中完全相同的格式
String[][][] proCategorization(String[] pros, String[][] preferences) {
String str = "wehnquflkwe,wefwefw,wefwefw,wefwef";
String strReplaced = str.replace(",","\",\""); //replace , with ","
System.out.println(strReplaced);
另一方面,当您使用断点停止应用程序流时,您可以查找值
大多数IDE显示带有“代码> >代码>的转义字符,以指示它只是一个代码>字符串,而不是<代码> String []/Case>在这种情况下,或者,如果中间包含<代码> \n>代码>,则不将<<代码>字符串< /代码>分成两行。
为了以防万一,您仍然有疑问,我建议打印strreplace.length()
。这应该允许您逐个计数字符
可能的实验:
String s = "my cute \n two line String";
System.out.println(s + " length is: " + s.length());
内存中的字符可以用不同的方式表示
您的集成开发环境(IDE)有一个调试器,它选择用一个包含字符的元素来表示字符串[][]
wehnquflkwe","wefwefw","wefwefw","wefwef
作为带引号的java字符串
"wehnquflkwe\",\"wefwefw\",\"wefwefw\",\"wefwef"
这很有意义,因为您可以将该字符串复制并粘贴到java代码中,而不会丢失任何内容
另一方面,您的系统控制台和IDE的内置终端仿真器将以其正常表示形式输出字符,即不带任何java字符串转义字符:
wehnquflkwe","wefwefw","wefwefw","wefwef
作为实验,您可能需要检查其他“特殊”字符的情况,例如\t
(制表符中断)或\b
(退格)。这只是Java中字符通常转换为点的提示,系统或终端中可用的字体可能支持点,也可能不支持点。IDE将字符表示为java引用字符串的方式允许它无损地表示几乎任何东西;System.out.println的输出变量要大得多。因为这就是IDE决定向您显示它的方式。如果没有\
,那么您可以正确地假设,您实际上拥有的是一个小字符串数组,这是不正确的。因此,为了明确它是一个大字符串,分隔符“
将为您转义。我不理解那些下行投票。这是一个不错的问题。”返回值是:“-您是如何查看此返回值的?@luk2302如果之前有人问过它一千次,为什么不将其中一个链接为副本?请不要只是点击“向下投票”,请在评论中添加向下投票的原因。