J'utilise une bibliothèque - HtmlUnit - et je viens de passer de la version 2.4 à la version 2.5. Quand je compile mon code contre 2.5, je reçois un message d'erreur d'objet étrange "ne peut pas être déréférencé" que je ne connais pas. De plus, je ne comprends pas pourquoi cela fonctionne quand j'écris le code en deux lignes, mais échoue quand je le fais en tant que doublure.Java Object "ne peut pas être déréférencé"
Voici le code:
//this compiles fine
HtmlInput usernameInput = form.getInputByName("username");
usernameInput.setValueAttribute(userName);
//this fails to compile
form.getInputByName("password").setValueAttribute(passWord);
Ceci est le message d'erreur que je reçois quand je compile en utilisant ANT et 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 ne peut pas être déréférencé? J'ai vu des problèmes de derefernce avec Autoboxing, mais pas avec des objets. Qu'est-ce que cela signifie dans ce contexte? Et pourquoi le code fonctionne-t-il dans un sens et pas dans l'autre?
La version 2.5 que j'utilise est la construction de snapshots - la dernière version stable est encore 2.4. J'ai eu l'instantané 2.5 à http://build.canoo.com/htmlunit/artifacts/ - J'en avais besoin pour résoudre un problème 2.4 avec jQuery. Il a résolu ce problème, mais en a apparemment apporté de nouveaux ... –
Qu'est-ce que "voit comme juste HtmlInput et pas un HtmlInput implémenté"? Veuillez préciser ce que cela signifie et/ou fournir des références à ce sujet. –
mauvaise habitude de la mienne ... essayant d'expliquer en termes simples et perdant sens dans le processus ... refference a été frappé pour la première fois google "méthode finale java" désolé je n'ai pas fourni. ajouté à la réponse. – youri