Java 是什么原因引起的;二进制运算符'=='&引用;第二类<;空类型>;?
当我检查StoredCredential的实例是否为null时Java 是什么原因引起的;二进制运算符'=='&引用;第二类<;空类型>;?,java,netbeans,Java,Netbeans,当我检查StoredCredential的实例是否为null时 if(storedCredential != null){ //do something } Netbeans 7.1显示以下警告: bad operand types for binary operator '==' first type: com.blah.dbcore.mypublic.beans.StoredCredential second type: <nulltype> Netbeans对
if(storedCredential != null){
//do something
}
Netbeans 7.1显示以下警告:
bad operand types for binary operator '=='
first type: com.blah.dbcore.mypublic.beans.StoredCredential
second type: <nulltype>
Netbeans对此表达式没有问题
因为编译没有问题,所以我假设我将包含该类的.jar添加到库中的方式有问题。这是这个jar唯一的问题,这个.jar中没有其他类会给我这个问题。Netbeans告诉您,在程序中,
storedCredential
不可能为空。这可能意味着您已经在该方法前面的storedCredential
上调用了一个方法或访问了一个数据成员 我也遇到过这个问题。另外,当我试图将问题类的实例传递到接受对象作为参数的方法中时,我得到了以下错误:
required: String,Object
found: String,SomeClass
reason: actual argument SomeClass cannot be converted to Object by method invocation conversion
结果是编译器无法确定我的类的正确类型
我的类(我们称之为com.blah.lib.SomeClass)位于一个NB项目(我们称之为项目1)中,并在第三方jar中扩展了一个类,该jar是项目1的库
另一个NB项目(我们称之为项目2)依赖于项目1并使用com.blah.lib.SomeClass,但其libs中没有第三方jar,因此在编译项目2时,编译器无法确定com.blah.lib.SomeClass的完整继承
因此,解决方案是将第三方jar也添加到Project 2的库中
我知道这已经有年历史了,但我想我会发布这个答案,以防将来有人用谷歌搜索这个问题。首先,你可能是指
netbeans 7.1
而不是netbeans 1.7
。但是storedCredential的类型是什么?如果您的错误提到了运算符“|=”,那么一切都会很清楚,因为它只对数字和布尔值进行操作。@alegen Oops,是的,netbeans 7.1修复了它:P类型是storedCredential Extendes Bean,这是一个实现可序列化的对象,我认为没有什么特别之处。我确实注意到Bean类中有一个临时字段,但我不认为这会带来这种问题。我以前让Netbeans对java文件中实际编写的内容感到困惑,所以可能重新启动或只是让它消失?当一些看似不合逻辑的事情发生时,它总是像魔术一样对我起作用。在清除之前做备份。@predi我已经退出了Netbeans,清除了缓存并重新启动了它。问题仍然存在。我还发现,如果我键入storedCredential.
Netbeans不会给出任何提示。哦,哇,我忘了这个问题仍然存在,但这确实是解决方案。谢谢
required: String,Object
found: String,SomeClass
reason: actual argument SomeClass cannot be converted to Object by method invocation conversion