提问者:小点点

/主要。java:15:错误:不兼容类型:从int到字节myTotalByte=(myMinByteValue/2)的可能有损转换;^1个错误[重复]


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

        int myMinIntValue = Integer.MIN_VALUE;
        System.out.println("MY INteger Value is =" + myMinIntValue);
        byte myMinByteValue = Byte.MIN_VALUE;
        System.out.println("MY byte Value is =" + myMinByteValue);

        int myTotal = (myMinIntValue);
        System.out.println(myTotal);

        byte myTotalByte = (myMinByteValue / 2);
        System.out.println(myTotalByte);

    }
}

错误:-/Main.java:15:错误:不兼容类型:可能从int到byte字节的有损转换myTotalByte=(myMinByteValue/2);^1错误


共3个答案

匿名用户

有两种方法可以将byte类型变量作为最终

final byte myMinByteValue = Byte.MIN_VALUE;

或者,您可以将其强制转换为字节,并让编译器明确知道。

byte myTotalByte = (byte) (myMinByteValue / 2);

要了解更多信息,请访问java文档。

匿名用户

 byte myTotalByte = (byte)(myMinByteValue / 2);

2是一个整数字面量,所以结果也是一个整数。但是即使你写myMinByteValue/(byte)2-它仍然是一个整数,因为int是JVM中的最小类型大小(byte在JVM内部被视为int)。

匿名用户

2int 类型,你必须强制转换它:

byte myTotalByte = myMinByteValue / (byte)2;

那是iirc,因为我现在不在电脑前。