java - 不能将整数转换为字节

标签 java minecraft bukkit

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

相关文章:

java - eclipse :eclipse in maven?后如何执行代码

java - 我正在尝试创建一个 Minecraft 服务器,但每次启动时都会出现错误,我该如何修复它?

java - 加快 lwjgl 渲染速度?

java - 将变量/对象保存到 YAML 文件(Spigot)

java类<?扩展实体>如何获取实体实例

java - Spigot 使用命令取消注册事件

java - 为什么 Switch 需要语句但接受表达式

java - 使用 Oracle 生成的 SQL 查询语法是旧的

java - java web应用程序的api文档?

gradle - 尝试通过build.gradle添加Applied Energistics api