从int到字节Java的可能有损转换

时间:2015-03-14 16:18:21

标签: java byte type-conversion

Java新手在这里。

我们正在编写一些东西来创建,初始化和打印Java中的每个原始数据类型。我们可以很好地创建和重新分配值,但打印值不起作用。我们成功打印了int类型,但是我们得到错误“可能有损转换从int到byte”或“可能有损转换从int到short”。

我们代码的屏幕截图是: https://www.dropbox.com/s/glk9a090v52a0qq/error.PNG?dl=0

整数1的代码实际上是相同的,但有效。 我们之前做的任务有几个不同类和事物的打印语句。

在尝试打印不同类型及其值时,我们是否缺少一些初始化细微差别?从我所看到的,我们应该能够初始化一个字节类型变量,比如说-3。

 public class Byte
{
    private byte b;    
    public Byte(byte initial_b)
    {
        b=initial_b;
    }

    public byte getb()
    {
        return b;
    }
}

public class Number_printer
{
  public  static void main(String[] args)
  {
      Integer integer=new Integer(1);
      System.out.println("Integer = "+integer.geti());
      Byte byt=new Byte(00000001);
      System.out.println("Short = "+byt.getb());
  }
}

导致错误

不兼容的类型:从int到byte的可能有损转换

这里需要某种类型的表达。您提供了不兼容的不同类型的表达式

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

实际上你试图在这里将int转换为byte:

Byte byt=new Byte(00000001);

如果你想调用这个函数你可以使用强制转换:

Byte byt=new Byte((byte)1);

希望它有所帮助。