Wie zu lösen - java.lang.IllegalArgumentException: text kann nicht null oder leer
Ich versuche, um Variablen zu deklarieren, an der Spitze der Klasse, so brauche ich nicht zu erklären ständig, wenn Sie Sie verwenden. Ich habe so getan kein Fehler kommt, bis ich das Programm ausführen. Mein code ist unten:
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
Fehler
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: text cannot be null or empty
Ich glaube, es sagt der text str
kann nicht null oder leer. Wie kann ich dies beheben? die str
bereits text drin, wenn es läuft, so unsicher, warum dieser Fehler Auftritt.
- str hat keinen text, wenn es läuft. Sie sind nicht initialisiert, die variable.
String str;
- Dein Beispiel ist nicht lauffähig ist. Wo nennt man die kritische Linie? Können Sie mehr Informationen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
So haben Sie eine UI-Klasse und alle Variablen hier sind die Daten Mitglieder...
Hier problem scheint zu sein, str null ist, und damit ur-service beschwert.
Daten, die Mitglied sind intialised vor-Konstruktor,daher ur str ist null, wenn Profil eingestellt wird.
Ich erklären würde, die Mitglieder in der Klasse und initialisieren Sie diese im Konstruktor oder geben str eine gültige intial value-at-Linie Nummer 6.
Mit dieser Zeile definieren Sie eine neue variable str. Es ist standardmäßig null:
Scheint es, dass
this.str
undstr
verschiedene Variablen sind.Entfernen Sie diese Zeile und verwenden Sie
this.str
beim Aufruf der Methode.Sollten Sie post der ganze stack-trace, um ein besseres Verständnis des Problems, das sich speziell an welchem moment die exception geworfen wird ?
Ah ok, ich sah nur den Kommentar in deinem code 🙂
Sollten Sie nicht initialisieren
in der Klasse, sondern direkt im Konstruktor nach dem Lesen von der str
Komponente