Java 接线员!=参数类型布尔值int未定义

Java 接线员!=参数类型布尔值int未定义,java,minecraft,Java,Minecraft,我一直收到操作员的错误!=参数类型布尔值int未定义 在我的代码上,我不知道如何修复它。 该错误出现在eclipse内部以及启动时 一些帮助将不胜感激:)谢谢 private boolean[]ctexture=new boolean[16]; 公共布尔值[]flipTopBottom=新布尔值[16]; this.ctexture[id]=connectedTexture; @SideOnly(Side.CLIENT) 公共图标getIcon(int par1,int par2) { 如果((

我一直收到操作员的错误!=参数类型布尔值int未定义 在我的代码上,我不知道如何修复它。 该错误出现在eclipse内部以及启动时

一些帮助将不胜感激:)谢谢

private boolean[]ctexture=new boolean[16];
公共布尔值[]flipTopBottom=新布尔值[16];
this.ctexture[id]=connectedTexture;
@SideOnly(Side.CLIENT)
公共图标getIcon(int par1,int par2)
{
如果((par1你有:

private boolean[] ctexture = new boolean[16];
然后你会:

if(this.ctexture[i] != 0)
        ↑              ↑
     boolean          int
在Java中,你不能这样做,0是一个
int
this.ctexture[i]
是一个
boolean

您可能应该:

if(this.ctexture[i]) //if true

您在其他地方也有无效的比较,请同时修复它们

在某些语言中,布尔类型与int密切相关,因此将布尔值与0进行比较是有意义的。在Java中,它们是完全不同的类型。布尔值只能与其他布尔表达式进行比较


若要测试布尔值是否为false,请使用
!this.ctexture[i]
。若为true,只需使用布尔值即可。

flipToBottom
是一个布尔值数组,但您尝试将一个条目(布尔值)与一个整数进行比较

if ((par1 <= 1) && (this.flipTopBottom[(par2 & 0xF)] != 0) 

if((par1仅列出代码的那一部分..请同时说明错误发生在哪一行(并列出代码的特定部分)您知道什么是布尔值,什么是int,什么是!=吗?好的,但如果我将其设置为true,图标会显示,但纹理不连接(这就是要连接的纹理的想法)像这样的错误是由Deobfousating代码引起的吗?因为我使用另一个项目中的代码来学习更复杂的方法,并且使用原始代码在游戏中不会产生错误,只有在eclipse@user3219869该代码是否包含导致错误的行?如果(this.ctexture[i]!=0){@user3219869这是错误的,除非
ctexture
int
的数组。
if ((par1 <= 1) && (this.flipTopBottom[(par2 & 0xF)] != 0) 
if ((par1 <= 1) && !this.flipTopBottom[(par2 & 0xF)])