java中的字符常量无效

Kev*_*vin 8 java

return (int) (feetPart) + '\' ' + inchesPart + '\''+'\'';
Run Code Online (Sandbox Code Playgroud)

为什么上述无效字符不变,这在JavaScript中完美运行.我想以英尺和英寸显示高度,并且正在使用此客户端,但是当我在服务器端使用相同时,它显示Invalid character constant.

Jon*_*eet 23

为什么上面的无效字符不变

由于这部分:

'\' '
Run Code Online (Sandbox Code Playgroud)

那是试图指定一个字符文字实际上是两个字符(撇号和空格).字符文字必须是一个字符.

如果要指定"撇号空间",则应使用字符串文字 - 此时撇号不必转义:

"' "
Run Code Online (Sandbox Code Playgroud)

你的整个陈述会更好:

return (int) (feetPart) + "' " + inchesPart + "''";
Run Code Online (Sandbox Code Playgroud)

或者使用"而不是''英寸:

return (int) feetPart + "' " + inchesPart + "\"";
Run Code Online (Sandbox Code Playgroud)

请注意,我甚至不清楚原始代码是否会编译时执行您想要的操作,因为我怀疑它会对feetPart字符执行整数运算...

您的代码在Javascript中可以正常使用,因为单引号和双引号都用于字符串文字.