当我检查StoredCredential的实例是否为空时
if(storedCredential != null){
//do something
}
Run Code Online (Sandbox Code Playgroud)
Netbeans 7.1显示以下警告:
bad operand types for binary operator '=='
first type: com.blah.dbcore.mypublic.beans.StoredCredential
second type: <nulltype>
Run Code Online (Sandbox Code Playgroud)
它正确编译并且不抛出RuntimeExceptions,但Netbeans仍然显示警告.使用'!='检查实例是否为空,会给出相同的错误.
以下代码执行相同的操作,但不太清楚:
if (!(storedCredential instanceof StoredCredential)) {
//do something
}
Run Code Online (Sandbox Code Playgroud)
Netbeans对这个表达没有任何问题.
因为编译没有问题,我假设我将包含类的.jar添加到库中的方式有问题.这是我对这个jar的唯一问题,但是这个.jar中没有其他类给我这个问题.
我也遇到过这个问题。另外,当我尝试将问题类的实例传递到接受对象作为参数的方法时,出现以下错误:
required: String,Object
found: String,SomeClass
reason: actual argument SomeClass cannot be converted to Object by method invocation conversion
Run Code Online (Sandbox Code Playgroud)
结果编译器无法确定我的类的正确类型。
我的类(我们称之为 com.blah.lib.SomeClass)位于一个 NB 项目(我们称之为项目 1)中,并在第 3 方 jar 中扩展了一个类,该类是项目 1 的库。
另一个NB项目(我们称之为项目2)依赖于项目1并使用了com.blah.lib.SomeClass,但其库中没有第3方jar,因此在编译项目2时,编译器无法确定完整的com.blah.lib.SomeClass 的继承。
因此,解决方案是将第 3 方 jar 添加到项目 2 的库中。
我知道这已经有很多年了,但我想我应该发布这个答案,以防它帮助其他人将来谷歌搜索这个问题。
归档时间: |
|
查看次数: |
6155 次 |
最近记录: |