【问题标题】:convert integer to byte if the integer is less than 16 [closed]如果整数小于 16,则将整数转换为字节 [关闭]
【发布时间】:2014-04-14 09:47:48
【问题描述】:

如果我有一个整数总是小于 16 的正数,我可以将它转换为字节

int i = 5;
byte b = (byte) i;

还是在不同设备上将其转换回整数时出现意外行为?

谢谢

【问题讨论】:

  • “将其转换回整数”是什么意思?那么负值呢? Integer.MIN_VALUE 小于 16,但不能“适合”byte
  • 此链接可能对您有所帮助:stackoverflow.com/questions/842817/…
  • 好点。我的意思是这个数字总是正数并且小于 16

标签: java android


【解决方案1】:

不,在不同平台上将 0 到 15 之间的 byte 转换为 int 不会出现意外行为。 Java 的优势之一是它精确地定义了这种转换会发生什么,因此它们总是独立于平台的。

【讨论】:

    【解决方案2】:

    您始终可以使用 Integer 类并使用 byteValue。

    http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#byteValue()

    简单的

    return (byte)value;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-28
      • 1970-01-01
      • 2013-09-27
      相关资源
      最近更新 更多