',' 或 ')' 预期 - 枚举中的长数字

',' or ')' expected - long numbers in Enum

为什么这段代码不起作用?我有一个很长的数字,低于 2^64,但它不起作用。我的 IntelliJ 说缺少“,”或“)”。在我的 Netbeans 中它确实有效但在 Intellij 中不起作用 - 在 Netbeans 中如果我从 Byte - Gigabyte 中删除 L 它有效,因为它们低于 2^32 限制并且在没有 L 的情况下工作,在 IntelliJ 中它给我一个编译器错误(见图)如果我在这些 2^32(字节 - GB)上有 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 +
                '}';
    }
}

PETABYTE 大小声明后有一个隐藏的 Unicode 字符 Unicode U+202C,可能是 copy/paste 的把戏。使用此在线工具查看它: https://www.soscisurvey.de/tools/view-chars.php

在那里复制你的代码片段,你就会看到它。