Beispiel-Code mit Pair wird nicht compiliert.

C

Creonic68

Mitglied
Hallo liebe Freunde, ich als blutiger JAVA-Einsteiger habe mal wieder ein Problem bei der Compilierung eines Beispieles aus einem Buch.
Es geht um die Verwendung von "PAIR", ich vermute mal stark, das dort am Anfang noch eine pasende import-anweisung fehlt, konnte aber im Internet nichts finden.
Hier ist der entsprechende Quell-Code:

public class PairTest {
public static void printEqual(Pair pair, String title) {
if (pair.areValuesEqual()) {
System.out.println("Gleiches Paar in " + title);
} else {
System.out.println("Ungleiches Paar in " + title);
}
}

public static void main(String[] args) {
Pair<Integer> pair1 = new Pair<>(4, 5);
PairTest.printEqual(pair1, "pair1");
Pair<String> pair2 = new Pair<>("Hallo", "Hallo");
PairTest.printEqual(pair2, "pair2");
}
}

Als Fehlermeldung bekomme ich folgende Ausgabe, wenn ich das mit javac PairTest.java compilieren will:
PairTest.java:2: error: cannot find symbol
public static void printEqual(Pair pair, String title) {
^
symbol: class Pair
location: class PairTest
PairTest.java:11: error: cannot find symbol
Pair<Integer> pair1 = new Pair<>(4, 5);
^
symbol: class Pair
location: class PairTest
PairTest.java:11: error: cannot find symbol
Pair<Integer> pair1 = new Pair<>(4, 5);
^
symbol: class Pair
location: class PairTest
PairTest.java:13: error: cannot find symbol
Pair<String> pair2 = new Pair<>("Hallo", "Hallo");
^
symbol: class Pair
location: class PairTest
PairTest.java:13: error: cannot find symbol
Pair<String> pair2 = new Pair<>("Hallo", "Hallo");
^
symbol: class Pair
location: class PairTest
5 errors

Ich bedanke mich für eure Hilfe im Voraus.
LG Creonic68
 
Blender3D

Blender3D

Top Contributor
Hallo liebe Freunde, ich als blutiger JAVA-Einsteiger habe mal wieder ein Problem bei der Compilierung eines Beispieles aus einem Buch.
Also es fehlt in Deinem Code die Klasse Pair. Als Anfänger solltest Du nicht sofort mit generischen Klassen beginnen.
Ich habe eine passende Klasse Pair erstellt. Kopiere Dir den Code, und versuche ihn zu verstehen.
Java:
public class Pair<T> {
    private T a;
    private T b;

    public Pair(T a, T b) {
        this.a = a;
        this.b = b;
    }

    public boolean areValuesEqual() {
        return a.equals(b);
    }

    @Override
    public String toString() {
        return "(" + a.toString() + " / " + b.toString() + ")";
    }
}

Java:
public class PairTest {
    public static void printEqual(Pair<?> pair, String title) {
        System.out.println(title);
        if (pair.areValuesEqual()) {
            System.out.println("Gleiches Paar\t" + pair);
        } else {
            System.out.println("Ungleiches Paar\t" + pair);
        }
    }

    public static void main(String[] args) {
        Pair<Integer> pair1 = new Pair<Integer>(4, 5);
        PairTest.printEqual(pair1, "Integer Paar");
        Pair<String> pair2 = new Pair<String>("Hallo", "Hallo");
        PairTest.printEqual(pair2, "String Paar");
    }
}
 
C

Creonic68

Mitglied
Also es fehlt in Deinem Code die Klasse Pair. Als Anfänger solltest Du nicht sofort mit generischen Klassen beginnen.
Ich habe eine passende Klasse Pair erstellt. Kopiere Dir den Code, und versuche ihn zu verstehen.
Java:
public class Pair<T> {
    private T a;
    private T b;

    public Pair(T a, T b) {
        this.a = a;
        this.b = b;
    }

    public boolean areValuesEqual() {
        return a.equals(b);
    }

    @Override
    public String toString() {
        return "(" + a.toString() + " / " + b.toString() + ")";
    }
}

Java:
public class PairTest {
    public static void printEqual(Pair<?> pair, String title) {
        System.out.println(title);
        if (pair.areValuesEqual()) {
            System.out.println("Gleiches Paar\t" + pair);
        } else {
            System.out.println("Ungleiches Paar\t" + pair);
        }
    }

    public static void main(String[] args) {
        Pair<Integer> pair1 = new Pair<Integer>(4, 5);
        PairTest.printEqual(pair1, "Integer Paar");
        Pair<String> pair2 = new Pair<String>("Hallo", "Hallo");
        PairTest.printEqual(pair2, "String Paar");
    }
}
 
C

Creonic68

Mitglied
Hallo blender3D, ich danke dir für deinen Hinweis, das sind Beispiele aus einem IT-Buch (IT-Handbuch für Fachinformatiker von Sacha Kersken / Rheinwerk), welches ich zu allgemeinen Wiederholung und Wissens-Auffrischung zur Zeit durcharbeite, weil ich meinen FISI 2003 abgeschlossen habe und sich eben viele Sachen verändert bzw. weiterentwickelt haben, ich habe mich vorher noch nie so wirklich mit java beschäftigt und bin beruflich eher im Fieldservice und Support / Administration zuhause, programmiert habe ich also ewig nicht mehr, teilweise ist das in dem Buch ein wenig zerrissen dargestellt, also nicht auf Anhieb ersichtlich ob ein Code-Schnipsel nun zu einem Beispielprogramm gehört was einige Zeilen später im buch gelistet ist, er hatte auch diese Klasse vorher gelistet, aber ich habe das nicht gerafft, das ich das in dem Listing vorher einfügen muss (Asche auf mein Haupt), vieles wird dort kurz angerissen und das wars, ich finde aber Java sehr cool und werde mir demnächst ein schönes JAVA-Buch kaufen, das steht fest auf meiner Agenda, also diese generischen Klassen sind nun mal ein Teil der Beispiele im Java-Kapitel, wie schon erwähnt, werde / kann ich mein Java-Wissen erst mit einem Buch vertiefen, was wirklich nur Java behandelt (kommt ;-)), Danke aber noch mal für deine schnelle Hilfe.

Liebe Grüße
Creonic68
 
M

M.L.

Top Contributor
IT-Handbuch für Fachinformatiker von Sacha Kersken
Dort gibt es auch Materialien zum Herunterladen: https://www.rheinwerk-verlag.de/it-handbuch-fur-fachinformatiker_4897/. Entpacken, die Java Beispiele sind im Kap. 09. So sieht Pair.java aus:
Code:
public class Pair<T> {
  private T value1;
  private T value2;

  public Pair(T _value1, T _value2) {
    value1 = _value1;
    value2 = _value2;
  }

  public boolean equal() {
    if (value1.equals(value2)) {
      return true;
    }
    return false;
  }
}
 
F

fhoffmann

Top Contributor
Bei dem Code stil ist ein neues Buch sicher eine gute Idee
Um dies zu erklären. Den Code
Java:
  public boolean equal() {
    if (value1.equals(value2)) (
      return true;
    }
    return false;
  }
kann man einfacher schreiben als
Java:
  public boolean equal() {
    return value1.equals(value2);
  }
 
Zuletzt bearbeitet:
L

LimDul

Top Contributor
Um diess zu erklären. Den Code
Java:
  public boolean equal() {
    if (value1.equals(value2)) (
      return true;
    }
    return false;
  }
kann man einfahcher schreiben als
Java:
  public boolean equal() {
    return value1.equals(value2);
  }
Wobei besser ist:

Java:
  public boolean equal() {
    return Objects.equals(value1, value2)
  }
Dann ist es auch null safe und man erhält keine NullPointerExceptions.
 
F

fhoffmann

Top Contributor
Hallo LimDul,

da hast du natürlich recht. Ich wollte nur darauf hinweisen, dass folgene Konstrukte in einem ernstzunehmenden Tuutorial nichts zu suchen haben:
Java:
if (true) {
  return true;
} else {
  return false;
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
dieter000 Frage zu einem Beispiel... Java Basics - Anfänger-Themen 5
dieter000 Hilfe bei dem Beispiel, wie gehe ich sowas am besten an? Java Basics - Anfänger-Themen 32
marcooooo Kann mir jemand das Beispiel kurz erklären so ungefähr:/ Java Basics - Anfänger-Themen 7
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
B Webhooks verstehen - Beispiel? Java Basics - Anfänger-Themen 25
J For-Schleife (Beispiel) Java Basics - Anfänger-Themen 6
G Rekursion Beispiel Java Basics - Anfänger-Themen 3
H OOP, wie gehts richtig? (Beispiel von meinem Prof) Java Basics - Anfänger-Themen 6
J Suche simples Beispiel für die EOFException Java Basics - Anfänger-Themen 1
O Wert in einer URL hinzufügen (in meinem Beispiel Google) Java Basics - Anfänger-Themen 7
F jscience Beispiel Java Basics - Anfänger-Themen 0
D Klassen Gesucht: Einfache Beispiel-Klasse für einen Datentyp Java Basics - Anfänger-Themen 7
B Erste Schritte Way of life ohne import - Habe Beispiel, macht Unfug Java Basics - Anfänger-Themen 21
J Kompilieren von HelloWorld Beispiel schlägt fehl Java Basics - Anfänger-Themen 7
Z Schleifen Beispiel: Fakultät Java Basics - Anfänger-Themen 26
M Frage zum generellen Verständiss von OO an einem Beispiel Java Basics - Anfänger-Themen 4
L GridLayout, Beispiel? Java Basics - Anfänger-Themen 2
M Wozu Upcasting? Am Beispiel List = ArrayList Java Basics - Anfänger-Themen 2
L Beispiel Projekte Java Basics - Anfänger-Themen 3
B Erste Schritte HILFE Brauche ein Beispiel für korrekte Syntax mit Semantikfehlern Java Basics - Anfänger-Themen 6
V Objekte/Klassen erstellen - Erklärung anhand Beispiel Java Basics - Anfänger-Themen 4
J Interface Frage zu Interfces am Beispiel Observer Pattern Java Basics - Anfänger-Themen 8
T Erste Schritte für was steht das "this" in dem Beispiel... Java Basics - Anfänger-Themen 2
B Grundlagen von Methoden an folgendem Beispiel Java Basics - Anfänger-Themen 52
E Polymorphie Beispiel Polymorphie Java Basics - Anfänger-Themen 2
M Threads am Beispiel Parkhaus Java Basics - Anfänger-Themen 10
G OOP Beispiel Objekte zugreifen Java Basics - Anfänger-Themen 3
M Suche Beispiel-Spiel Java Basics - Anfänger-Themen 3
M Ganz einfaches Beispiel, finde den Fehler aber nicht :( Java Basics - Anfänger-Themen 2
A Frage zu Beispiel eines Dekorierers von InputStream Java Basics - Anfänger-Themen 4
M Kann kein Objekt (AudioFile in diesem Beispiel) für ein leeren String erzeugen Java Basics - Anfänger-Themen 3
P wie oop an diesem beispiel verbessern? Java Basics - Anfänger-Themen 31
K return-Anweisung am Beispiel eines Palindroms Java Basics - Anfänger-Themen 18
P Datentypen Warum würde dieses Beispiel nicht funktionieren? Java Basics - Anfänger-Themen 6
V KeyListener Beispiel Java Basics - Anfänger-Themen 13
S Objektidentität und gleichheit an diesem Beispiel Java Basics - Anfänger-Themen 7
S Komposition beispiel anhand eines kopierers Java Basics - Anfänger-Themen 4
M Gutes Beispiel für Exception- werfende & behandelnde Methode Java Basics - Anfänger-Themen 5
H Webservice - Einfaches Beispiel Java Basics - Anfänger-Themen 2
b101 OOP Beispiel Klausur Aufgabe der FH Java Basics - Anfänger-Themen 22
T Java Beispiel Bitte helft mir Java Basics - Anfänger-Themen 5
Gonzalez Eingabe des Benutzers mittels readLine()-Methode. Klappt in meinem Beispiel nicht! Java Basics - Anfänger-Themen 7
V Präinkrement Beispiel Java Basics - Anfänger-Themen 14
M Swing Beispiel Java Basics - Anfänger-Themen 2
M [Einfaches Beispiel] Problem mit innere Klassen Java Basics - Anfänger-Themen 4
M Beispiel-Webprojekt: Statt HSQLDB Postgres verwenden Java Basics - Anfänger-Themen 12
M Serialisierung erstes Beispiel Java Basics - Anfänger-Themen 4
razwed4ik zum Beispiel aus Java Insel Buch Java Basics - Anfänger-Themen 7
M DBCP - Kleines Beispiel Java Basics - Anfänger-Themen 3
M Data Access Object - Beispiel Java Basics - Anfänger-Themen 11
M Beispiel für Linked List Java Basics - Anfänger-Themen 9
A programmier beispiel Java Basics - Anfänger-Themen 18
A ausgabe eines arrays - einfaches beispiel Java Basics - Anfänger-Themen 4
Z Beispiel Würfelspiel mit Verwendung von Feldern Java Basics - Anfänger-Themen 7
Q POI Beispiel Programme Java Basics - Anfänger-Themen 2
J Das schöne Bouncing Ball Beispiel. Java Basics - Anfänger-Themen 20
N Java Insel - RMI Beispiel Java Basics - Anfänger-Themen 12
J Plymorphismus - unklarheit zu einem Beispiel Java Basics - Anfänger-Themen 6
S Gutes Beispiel für Vererbung? Java Basics - Anfänger-Themen 14
I Hilfe beim Java-Applet Beispiel Java Basics - Anfänger-Themen 27
G konkretes beispiel: interface hier besser als abstrakte kl. Java Basics - Anfänger-Themen 4
M Brauche ein Beispiel für eine set() get() Methode Java Basics - Anfänger-Themen 4
M Komische Syntax bei Double-Buffering-Beispiel Java Basics - Anfänger-Themen 2
M Brauche Hilfe bei Beispiel. Java Basics - Anfänger-Themen 4
S Beispiel für abgestufte Preisliste Java Basics - Anfänger-Themen 2
S Wrapper-Pattern Beispiel Java Basics - Anfänger-Themen 2
S Model-View-Controller Konzept Beispiel Java Basics - Anfänger-Themen 11
E Fehler im Beispiel? Java Basics - Anfänger-Themen 3
B Was ist falsch an dem beispiel? Java Basics - Anfänger-Themen 4
M Beispiel für sinnvolles finally? Java Basics - Anfänger-Themen 17
B schon beim einsteiger-beispiel durchgefallen. Java Basics - Anfänger-Themen 2
M Einfache HTML Mail versenden , suche Beispiel Java Basics - Anfänger-Themen 5
G einfaches jdialog beispiel Java Basics - Anfänger-Themen 1
D Beispiel-Servlet erstellen Java Basics - Anfänger-Themen 4
G Rekursiv-Beispiel; Wer erklärt mir... Java Basics - Anfänger-Themen 9
H Beispiel für Schriftfarben Java Basics - Anfänger-Themen 8
B Oberflaecheprog einfaches beispiel (button action listener) Java Basics - Anfänger-Themen 5
I Erklärung zum Java Code Java Basics - Anfänger-Themen 2
T Programmablaufsplaninterpretation in Code umformen Java Basics - Anfänger-Themen 1
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
M ISBN-Code Java Basics - Anfänger-Themen 26
B Zeitgleiches Arbeiten am Code mit mehreren Personen? Java Basics - Anfänger-Themen 7
S Wie kann ich bei diesem Code erreichen, das als Ergebnis hier 15 herauskommt? Java Basics - Anfänger-Themen 23
N Kann man den Code vereinfachen? Java Basics - Anfänger-Themen 25
marcooooo Code erklären Java Basics - Anfänger-Themen 28
marcooooo Code erklären Java Basics - Anfänger-Themen 4
S Advent of Code Day4 Java Basics - Anfänger-Themen 4
B Nach eingefügtem Code erkennt Compiler keine Instanzvar und meldet SyntaxError Java Basics - Anfänger-Themen 2
Gaudimagspam Caesars Code entziffern in Java Java Basics - Anfänger-Themen 8
Lukasbsc Wie kann ich meinen Code optimieren? Java Basics - Anfänger-Themen 4
I Input/Output Code wird doppelt ausgeführt Java Basics - Anfänger-Themen 3
T Main startet nicht bei vorgegebenen Code Java Basics - Anfänger-Themen 41
B Frage zum Code verständnis im Resultat Java Basics - Anfänger-Themen 10
J Fehler im Code, aber ich weiß nicht wieso! Java Basics - Anfänger-Themen 6
S Mehrere Probleme im Code Java Basics - Anfänger-Themen 7
M Code nur für Cracks? Crack the Passwort Übung Java Basics - Anfänger-Themen 7
parrot Code entferneJedeZweiteZiffer Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Anzeige

Neue Themen


Oben