为什么这个代码不起作用?我有一个长的,和一个低于2^64的数字,但它不起作用。我的intellij说少了一个“,”或“)”。在我的netbeans中,它可以工作,但在intellij中不行-在netbeans中,如果我从byte-gigabyte中删除l,它就可以工作,因为它们低于2^32的限制,并且在没有l的情况下也可以工作。在intellij中,如果我在这2^32(byte-gb)上有l或没有l,它会给我一个编译器错误(见图)。重新启动intellij没有帮助。
public enum Type {
BYTE (1L), KILOBYTE (1024L), MEGABYTE(1048576L), GIGABYTE(1073741824L), TERABYTES(1099511627776L), PETABYTE(1125899906842624L);
private final long size;
private Type(long size){
this.size=size;
}
public long getSize() {
return size;
}
@Override
public String toString() {
return "Type{" +
"size=" + size +
'}';
}
}
1条答案
按热度按时间xxls0lw81#
在petabyte大小声明之后有一个隐藏的unicode字符unicode u+202c,可能是复制/粘贴技巧。使用此联机工具查看:https://www.soscisurvey.de/tools/view-chars.php
复制你的代码片段在那里,你会看到它。