繁体   English   中英

Java 11 - Byte.MIN_VALUE 和 Byte.MAX_VALUE 在 IntelliJ IDEA CE 中显示错误

[英]Java 11 - Byte.MIN_VALUE & Byte.MAX_VALUE are showing errors in IntelliJ IDEA CE

我正在尝试打印字节数据类型的最小值和最大值,但Byte.MIN_VALUEByte.MAX_VALUE中以红色突出显示。 我正在使用 IntelliJ IDEA 社区版。 请问有人可以帮忙吗? 提前致谢。

    public class Byte {
    public static void main(String[] args){

        byte myMinByteValue = Byte.MIN_VALUE;
        byte myMaxByteValue = Byte.MIN_VALUE;

        System.out.println("Byte Minimum Value = " + myMinByteValue);
        System.out.println("Byte Maximum Value = " + myMaxByteValue);
    }
}

您将 Class 名称作为字节提供,因此它引用相同的 class 名称。 将 class 名称更改为其他名称。

public class Test {
    public static void main(String[] args){

        byte myMinByteValue = Byte.MIN_VALUE;
        byte myMaxByteValue = Byte.MIN_VALUE;

        System.out.println("Byte Minimum Value = " + myMinByteValue);
        System.out.println("Byte Maximum Value = " + myMaxByteValue);
    }
}

你已经声明了你自己的Byte class。 (馊主意...)

在您的Byte class 中,对Byte的引用指的是 >>this<< class,而不是java.lang.Byte 但是您的Byte class 没有声明MIN_VALUEMAX_VALUE 因此编译错误......由红色突出显示。

解决方案:

  1. 更改 class 的名称。 为 class 使用与标准 class 的名称相同的名称是个坏主意。 如果导致各种令人困惑的编译错误......

  2. 使用标准 class 的限定名称; 即改变

     byte myMinByteValue = Byte.MIN_VALUE;

     byte myMinByteValue = java.lang.Byte.MIN_VALUE;

“字节”是 java 的反向字或关键字。 您不能使用任何保留字(关键字)作为 class 名称或变量名称。 更改您的 class 名称。

class Test{
    public static void main(String[] args){

        byte myMinByteValue = Byte.MIN_VALUE;
        byte myMaxByteValue = Byte.MIN_VALUE;

        System.out.println("Byte Minimum Value = " + myMinByteValue);
        System.out.println("Byte Maximum Value = " + myMaxByteValue);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM