我正在尝试使用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。