簡體   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