我正在尝试使用 Bukkit Minecraft api 从配置文件中提取一个整数。我真的不明白为什么我必须使用一个字节(到目前为止还没有真正了解过它们)并且在使用似乎适用于其他人的代码时出现以下错误:
无法从整数转换为字节。
player.getInventory().removeItem(new ItemStack(Material.getMaterial(dItemId1), 1, (byte) dItemMeta1));
dItemMeta1 只是一个从配置文件中提取的变量,定义如下:
public Integer dItemMeta1;
dItemMeta1 = getConfig().getInt("FirstDonationItemIdMeta");
谁能告诉我如何正确利用它,或者如何在从配置中获取值时首先将其正确定义为字节?
最佳答案
您可以将 Integer
对象转换为 int
原语或将 int
转换为 byte
但您无法从 Integer
一直转换为 byte
(对于 Java 设计者而言,这一步太过分了)
你能做的是
player.getInventory().removeItem(new ItemStack(
Material.getMaterial(dItemId1), 1, dItemMeta1.byteValue()));
注意:如果 dItemMeta1 为 null
,这将抛出 NullPointerException。
关于java - 不能将整数转换为字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24408682/