代码:
string s = "d";
引起编译者错误, 非法逃跑字符 。 理解!
但代码:
class Test
{
public static void main(String[] args)
{
String s = args[0];
System.out.println(s);
}
}
当使用命令 java test d
或 java test " d"
或 test " d"
。 为什么?
连指纹都无法用 : d
而不使用双反鞭 ("\d")。
通过指令线提供的论点是否只作为字符串处理?
我知道它不能提出 < em> compiler 错误 < / em >, 因为命令行提供的参数是在 < / em > 汇编阶段之后的 < em >, 但是它不应该提出一个 < em> 时间例外 em > 或什么的吗?
或者说,一旦我们通过编译阶段,字符串包含的内容并不重要(因为代码被转换成字节码,整个代码结构被修改)?如果是,那么可以请人详细解释。
提前交货!