Comment résoudre - java.lang.IllegalArgumentException: le texte ne peut pas être null ou vide
Je suis en train de déclarer les variables au sommet de la classe, pour ne pas avoir à les déclarer en permanence lors de leur utilisation. Je l'ai fait aucune erreur ne vient jusqu'à ce que je veux lancer le programme. Mon code est ci-dessous:
public class UI extends javax.swing.JFrame {
/**
* Creates new form UI
*/
public UI() {
initComponents();
this.service.setUsernameAndPassword("9a1d5de6-7c2b-427d-a574-d6fe097c86b9", "ztil6GSHwd34");
this.str = txtInput.getText();
}
String str;
PersonalityInsights service = new PersonalityInsights();
ArrayList<Double> percentagesList = new ArrayList();
Profile profile = service.getProfile(str).execute();
Gson gson = new Gson();
Root C = gson.fromJson(profile.toString(), Root.class);
Root.SubTree t = C.getSubTree(); //Gets subtree from root
ArrayList<Children> c = t.getChildren(); //Gets <Children> from Root.getSubTree
Erreur
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: text cannot be null or empty
Je crois, c'est dire le texte str
ne peut pas être null ou vide. Comment puis-je résoudre ce problème? le str
a déjà de texte à l'intérieur lors de l'exécution, de sorte savent pas pourquoi cette erreur se produit.
- str n'a pas de texte lors de l'exécution. Vous n'êtes pas à l'initialisation de cette variable.
String str;
- Votre exemple n'est pas exécutable. Où voulez-vous appeler la ligne critique? Pouvez-vous fournir plus d'informations?
Vous devez vous connecter pour publier un commentaire.
Si vous disposez d'une INTERFACE de classe et de toutes les variables ici sont membres de données...
Ici, le problème semble être str qui est nulle et donc ur de service est de se plaindre.
Membre de données sont intialised avant de constructeur,d'où ur str est nulle lorsque le profil est en cours de mise.
Je voudrais déclarer les membres de la classe et de les initialiser dans le constructeur ou donner str valide intial de la valeur à la ligne numéro 6.
Avec cette ligne, vous devez définir une nouvelle variable str. C'est la valeur null par défaut:
Il semble, que
this.str
etstr
sont des variables différentes.Supprimer cette ligne et l'utilisation
this.str
lors de l'appel de la méthode.Vous devriez poster l'ensemble de la trace de la pile d'avoir une meilleure compréhension du problème, précisément au moment où l'exception est levée ?
Ah ok je viens de voir le commentaire dans le code 🙂
Vous ne devriez pas initialiser le
dans la classe, mais directement dans le constructeur après la lecture de str à partir de la
composant