Page 1 of 7 12345 ... Last

Thread: [JAVA]

  1. #1
    Pixie360's Avatar
    Registered
    28/08/05
    Posts
    566
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)

    [JAVA] 2 Strings controleren

    Is er een manier om 2 elementen van het type String te vegelijken met elkaar?
    Dus er moet gecontroleerd worden of bv. Theepot == Theepot.

    thx

    edit: crap kan m'n titel niet meer aanpassen
    no votes  

  2. #2
    Yngwie's Avatar
    Registered
    14/06/04
    Location
    Haacht
    Posts
    917
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    1/1
    Wanneer je de inhoud van strings wil vergelijken gebruik je de equals methode.

    Code:
    String str1 = "theepot";
    String str2 = "theepot";
    boolean check = str1.equals(str2);
    no votes  

  3. #3
    Bubbling Zombie's Avatar
    Registered
    03/11/03
    Location
    Hove
    Posts
    6,718
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    1/3
    En omdat dit overduidelijk een les 1 in de java klas vraag is

    met == ga je vergelijken of twee objecten hetzelfde zijn.
    met .equals ga je vergelijken of de inhoud hetzelfde is.
    Look down at me and you see a fool; look up at me and you see a god; look straight at me and you see yourself
    no votes  

  4. #4
    Gurdt's Avatar
    Registered
    21/08/08
    Location
    Hasselt
    Posts
    2,653
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    5/46
    Quote Originally Posted by Bubbling Zombie View Post
    This quote is hidden because you are ignoring this member. Show
    En omdat dit overduidelijk een les 1 in de java klas vraag is

    met == ga je vergelijken of twee objecten hetzelfde zijn.
    met .equals ga je vergelijken of de inhoud hetzelfde is.
    das nie echt waar wa gij zegt he
    == vergelijk heel basisch de linker met de rechterkant

    nu is het zo dat een string in java (in zowat alle programmeertalen denk ik) een verwijzing is naar een adres in het geheugen, en op die manier, dat da adres overeenkomt met het allereerste karakter van die string, daarom dat ge ook om alle karakters af te lopen, de string-lengte nodig hebt

    == gaat dus die verwijzing (lees: pointer) naar de strings vergelijken, en die gaan enkel en alleen hetzelfde zijn als die ook echt naar dezelfde plaats in het geheugen wijzen

    daarom moet ge equals gebruiken om de waarde achter die pointer te vergelijken (in C ofzo kunt ge *naam == *naam2 gebruiken, ma dan controleert ge enkel het eerste karakter, de functie equals gaat echt alle karakters vergelijken)
    no votes  

  5. #5
    Pixie360's Avatar
    Registered
    28/08/05
    Posts
    566
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    ajah .equals() XD, nu jullie het zeggen XD
    no votes  

  6. #6
    Pixie360's Avatar
    Registered
    28/08/05
    Posts
    566
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Maar nu heb ik nog een vraagje, hoe kan je een arraylist afprinten van een object? Want heb al verschillende manieren geprobeert en nog steeds lukt het niet
    no votes  

  7. #7
    Gurdt's Avatar
    Registered
    21/08/08
    Location
    Hasselt
    Posts
    2,653
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    5/46
    Quote Originally Posted by Pixie360 View Post
    This quote is hidden because you are ignoring this member. Show
    Maar nu heb ik nog een vraagje, hoe kan je een arraylist afprinten van een object? Want heb al verschillende manieren geprobeert en nog steeds lukt het niet
    een arraylist?
    en wat voor object, primitief of niet, een zelfgemaakte mss?
    no votes  

  8. #8
    Pixie360's Avatar
    Registered
    28/08/05
    Posts
    566
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Quote Originally Posted by Gurdt View Post
    This quote is hidden because you are ignoring this member. Show
    een arraylist?
    en wat voor object, primitief of niet, een zelfgemaakte mss?
    jah 1 die ik zelf heb gemaakt
    no votes  

  9. #9
    Gurdt's Avatar
    Registered
    21/08/08
    Location
    Hasselt
    Posts
    2,653
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    5/46
    dan zult ge een functie moeten schrijven die de array zal uitprinten
    of begrijp ik uw begrip arraylist verkeerd?
    no votes  

  10. #10
    forloRn_'s Avatar
    Registered
    23/11/03
    Location
    Landeurp
    Posts
    1,791
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    10/17
    Eerst toString() overriden in de klasse van je objecten.

    Dan:
    Code:
    System.out.println(list);
    of:
    Code:
    for (Object item: list) {
      System.out.println(item);
    }
    no votes  

  11. #11
    Bubbling Zombie's Avatar
    Registered
    03/11/03
    Location
    Hove
    Posts
    6,718
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    1/3
    Quote Originally Posted by Gurdt View Post
    This quote is hidden because you are ignoring this member. Show
    das nie echt waar wa gij zegt he
    == vergelijk heel basisch de linker met de rechterkant
    Java: String Equality (Common Mistake) - enrii.blog

    dat dus. misschien gewoon slecht verwoord.
    Look down at me and you see a fool; look up at me and you see a god; look straight at me and you see yourself
    no votes  

  12. #12
    Pixie360's Avatar
    Registered
    28/08/05
    Posts
    566
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Quote Originally Posted by forloRn_ View Post
    This quote is hidden because you are ignoring this member. Show
    Code:
    for (Object item: list) {
      System.out.println(item);
    }
    Kheb die maar dan krijg ik bij list de volgende fout in together:
    "Type mismatch: cannot convert from element type Persoon to int"

    m'n stukje code waarbij klanten de List is
    Code:
            for (int teller : klanten) {
            	System.out.println(teller);
            }
    Last edited by Pixie360; 28-02-2009 at 16:57.
    no votes  

  13. #13
    micksk3's Avatar
    Registered
    17/11/04
    Location
    zeaeazeaz
    Posts
    1,784
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/1
    Dat is omdat de elementen in je ArrayList van de klasse Persoon zijn (en niet int, zoals je zelf gebruikt. bij een for each lus heb je geen teller nodig)

    Wat je dus moet doen :

    for (Person persoon : klanten)
    .....


    alternatief met teller:
    for (int teller = 0; teller < klanten.size(); teller++)
    {
    System.out.println(klanten.get(teller));
    }



    Wel zorgen dat je een methode toString() in je klasse Persoon hebt die bijvoorbeeld zegt:

    public String toString()
    {
    return "naam : "+naam+" "+familienaam;
    // wel zelf uw variabele namen invullen
    }
    no votes  

  14. #14
    Pixie360's Avatar
    Registered
    28/08/05
    Posts
    566
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    aaaaaah nu snap ik het
    no votes  

  15. #15
    forloRn_'s Avatar
    Registered
    23/11/03
    Location
    Landeurp
    Posts
    1,791
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    10/17
    Zet eens @Override vóór die toString(), dat is een goede gewoonte.

    Code:
    @Override public String toString() {
      return "naam : "+naam+" "+familienaam;
    }
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in