我正在使用一个库 - HtmlUnit - 我刚刚从 2.4 版更新到 2.5 版。当我针对 2.5 编译代码时,我收到一个我不熟悉的奇怪对象“无法取消引用”错误消息。此外,我不明白为什么当我用两行代码编写代码时它会起作用,但当我作为 one-liner 编写代码时却失败了。
这是代码:
//this compiles fine
HtmlInput usernameInput = form.getInputByName("username");
usernameInput.setValueAttribute(userName);
//this fails to compile
form.getInputByName("password").setValueAttribute(passWord);
这是我使用 ANT 和 Java 1.6 编译时收到的错误消息:
[javac] E:\workspaces\europa\PortalTestSuite\src\com\carefirst\portal\test\controller\EAITest.java:32: com.gargoylesoftware.htmlunit.html.HtmlInput cannot be dereferenced
[javac] form.getInputByName("password").setValueAttribute(passWord);
[javac] ^
com.gargoylesoftware.htmlunit.html.HtmlInput 不能被取消引用?我已经看到了 Autoboxing 的取消引用问题,但没有看到对象的问题。在这种情况下是什么意思?为什么代码以一种方式工作而不是另一种?