【发布时间】:2017-10-17 02:55:16
【问题描述】:
我已经阅读了一些棘手的面试问题,我无法理解这背后的逻辑。谁能解释一下?
public class Test
{
public static void main(String[] args) {
for(char ch = 0; ch < Character.MAX_VALUE; ch++)
if (Character.isJavaIdentifierPart(ch) && !Character.isJavaIdentifierStart(ch))
System.out.printf("%04x <%s>%n", (int) ch, "" + ch);
}
}
输出
0000 < >
0001 <>
0002 <>
0003 <>
0004 <>
0005 <>
0006 <>
0007 <>
0008 <>
000e <>
000f <>
0010 <>
0011 <>
0012 <>
0013 <>
0014 <>
0015 <>
0016 <>
0017 <>
....more rows
【问题讨论】:
-
我先发布一个可编译的例子;这甚至还不是代码。看起来应该在字符串中,但即便如此,还是缺少了一些东西。
-
感谢您的回复。这就是它的程序。
-
@DaveNewton 它编译。 ideone.com/iP3HWq
-
因为不可打印的字符在这里是不可见的。我的观点是,如果不进行分析,这个问题是没有意义的,而 OP 并没有这样做。
-
根本没有掉头——缺少的是 OP 方面的尽职调查,至少是 IMO。
标签: java deobfuscation