'、'或')'应为枚举中的长数字

ulmd4ohb  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(481)

为什么这个代码不起作用?我有一个长的,和一个低于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 +
                '}';
    }
}

xxls0lw8

xxls0lw81#

在petabyte大小声明之后有一个隐藏的unicode字符unicode u+202c,可能是复制/粘贴技巧。使用此联机工具查看:https://www.soscisurvey.de/tools/view-chars.php
复制你的代码片段在那里,你会看到它。

相关问题