U bent hier: Home > Forum
9lives | internet

Populair: Diablo III | StarCraft 2 | Tekken 6 | Assassin's Creed 2
9Lives - rss - contact - nieuwsbrief - sitemap


9Lives - next generation gaming Log in of Registreer

Paswoord vergeten?

Ga terug   9lives - Games Forum > Tech Center > Programming & Gamedesign

Programming & Gamedesign - Alle vragen over Level Design, Modelling, Coding, Texturing, ...

Reageren
 
LinkBack Discussietools Discussie waarderen
Oud 28 februari 2009, 09:04   #1  
Pixie360 is offline Pixie360
Pixie360's schermafbeelding
Member
Geregistreerd: 28/08/05
iTrader: 2 (100%)
Berichten: 559
Pixie360 heeft vermelding van reputatie uitgeschakeld
[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
Met citaat reageren


Oud 28 februari 2009, 09:23   #2 (permalink)  
Yngwie is offline Yngwie
Yngwie's schermafbeelding
Member
Geregistreerd: 14/06/04
Locatie: Haacht
Berichten: 902
[0/11] Yngwie just joined
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);
Met citaat reageren
Oud 28 februari 2009, 10:19   #3 (permalink)  
Bubbling Zombie is offline Bubbling Zombie
Bubbling Zombie's schermafbeelding
Member
Geregistreerd: 3/11/03
Locatie: Hove
iTrader: 3 (100%)
Berichten: 6.731
[1/19] Bubbling Zombie just joined
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.
Met citaat reageren
Oud 28 februari 2009, 11:28   #4 (permalink)  
Gurdt is offline Gurdt Stuur een bericht via MSN naar Gurdt
Gurdt's schermafbeelding
Approved 9-lifer
Geregistreerd: 20/08/08
Locatie: Hasselt
iTrader: 6 (100%)
Berichten: 1.358
[0/23] Gurdt just joined
Citaat:
Oorspronkelijk geplaatst door Bubbling Zombie Bekijk bericht
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)
Met citaat reageren
Oud 28 februari 2009, 11:31   #5 (permalink)  
Pixie360 is offline Pixie360
Pixie360's schermafbeelding
Member
Geregistreerd: 28/08/05
iTrader: 2 (100%)
Berichten: 559
Pixie360 heeft vermelding van reputatie uitgeschakeld
ajah .equals() XD, nu jullie het zeggen XD
Met citaat reageren
Oud 28 februari 2009, 11:33   #6 (permalink)  
Pixie360 is offline Pixie360
Pixie360's schermafbeelding
Member
Geregistreerd: 28/08/05
iTrader: 2 (100%)
Berichten: 559
Pixie360 heeft vermelding van reputatie uitgeschakeld
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
Met citaat reageren
Oud 28 februari 2009, 11:44   #7 (permalink)  
Gurdt is offline Gurdt Stuur een bericht via MSN naar Gurdt
Gurdt's schermafbeelding
Approved 9-lifer
Geregistreerd: 20/08/08
Locatie: Hasselt
iTrader: 6 (100%)
Berichten: 1.358
[0/23] Gurdt just joined
Citaat:
Oorspronkelijk geplaatst door Pixie360 Bekijk bericht
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?
Met citaat reageren
Oud 28 februari 2009, 11:47   #8 (permalink)  
Pixie360 is offline Pixie360
Pixie360's schermafbeelding
Member
Geregistreerd: 28/08/05
iTrader: 2 (100%)
Berichten: 559
Pixie360 heeft vermelding van reputatie uitgeschakeld
Citaat:
Oorspronkelijk geplaatst door Gurdt Bekijk bericht
een arraylist?
en wat voor object, primitief of niet, een zelfgemaakte mss?
jah 1 die ik zelf heb gemaakt
Met citaat reageren
Oud 28 februari 2009, 11:49   #9 (permalink)  
Gurdt is offline Gurdt Stuur een bericht via MSN naar Gurdt
Gurdt's schermafbeelding
Approved 9-lifer
Geregistreerd: 20/08/08
Locatie: Hasselt
iTrader: 6 (100%)
Berichten: 1.358
[0/23] Gurdt just joined
dan zult ge een functie moeten schrijven die de array zal uitprinten
of begrijp ik uw begrip arraylist verkeerd?
Met citaat reageren
Oud 28 februari 2009, 11:52   #10 (permalink)  
forloRn_ is offline forloRn_
forloRn_'s schermafbeelding
Member
Geregistreerd: 23/11/03
Locatie: Herselt
Berichten: 990
[1/12] forloRn_ just joined
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);
}
Met citaat reageren
Oud 28 februari 2009, 13:42   #11 (permalink)  
Bubbling Zombie is offline Bubbling Zombie
Bubbling Zombie's schermafbeelding
Member
Geregistreerd: 3/11/03
Locatie: Hove
iTrader: 3 (100%)
Berichten: 6.731
[1/19] Bubbling Zombie just joined
Citaat:
Oorspronkelijk geplaatst door Gurdt Bekijk bericht
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.
Met citaat reageren
Oud 28 februari 2009, 14:38   #12 (permalink)  
Pixie360 is offline Pixie360
Pixie360's schermafbeelding
Member
Geregistreerd: 28/08/05
iTrader: 2 (100%)
Berichten: 559
Pixie360 heeft vermelding van reputatie uitgeschakeld
Citaat:
Oorspronkelijk geplaatst door forloRn_ Bekijk bericht
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);
        }

Laatst gewijzigd door Pixie360; 28 februari 2009 om 14:57
Met citaat reageren
Oud 28 februari 2009, 15:11   #13 (permalink)  
micksk3 is offline micksk3
micksk3's schermafbeelding
Member
Geregistreerd: 17/11/04
Locatie: zeaeazeaz
iTrader: 1 (100%)
Berichten: 1.348
[0/11] micksk3 just joined
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
}
Met citaat reageren
Oud 28 februari 2009, 15:30   #14 (permalink)  
Pixie360 is offline Pixie360
Pixie360's schermafbeelding
Member
Geregistreerd: 28/08/05
iTrader: 2 (100%)
Berichten: 559
Pixie360 heeft vermelding van reputatie uitgeschakeld
aaaaaah nu snap ik het
Met citaat reageren
Oud 28 februari 2009, 15:50   #15 (permalink)  
forloRn_ is offline forloRn_
forloRn_'s schermafbeelding
Member
Geregistreerd: 23/11/03
Locatie: Herselt
Berichten: 990
[1/12] forloRn_ just joined
Zet eens @Override vóór die toString(), dat is een goede gewoonte.

Code:
@Override public String toString() {
  return "naam : "+naam+" "+familienaam;
}
Met citaat reageren
Oud 28 februari 2009, 16:10   #16 (permalink)  
Pixie360 is offline Pixie360
Pixie360's schermafbeelding
Member
Geregistreerd: 28/08/05
iTrader: 2 (100%)
Berichten: 559
Pixie360 heeft vermelding van reputatie uitgeschakeld
Wat doet die @Override?
Met citaat reageren
Oud 28 februari 2009, 16:14   #17 (permalink)  
Recipe4hate is offline Recipe4hate
Recipe4hate's schermafbeelding
Member
Geregistreerd: 13/05/06
Locatie: Hoeselt
iTrader: 20 (100%)
Berichten: 2.703
[0/29] Recipe4hate just joined
Override maakt duidelijk aan andere programmeurs dat je een bepaalde functie overschrijft. In Java geeft dit enkel een waarschuwing, en je zal geen compile errors krijgen als je er geen @Override bijschrijft.
Mag ik je aanraden ook eerst even te zoeken op google oid. vooraleer je direct vragen stelt? Opzoeken laat je beter onthouden
Met citaat reageren
Oud 28 februari 2009, 16:16   #18 (permalink)  
Pixie360 is offline Pixie360
Pixie360's schermafbeelding
Member
Geregistreerd: 28/08/05
iTrader: 2 (100%)
Berichten: 559
Pixie360 heeft vermelding van reputatie uitgeschakeld
ah goed om te weten
En ik had er eigenlijk niet aan gedacht om eerst google te gebruiken m'n excuses
Met citaat reageren
Oud 1 maart 2009, 00:56   #19 (permalink)  
forloRn_ is offline forloRn_
forloRn_'s schermafbeelding
Member
Geregistreerd: 23/11/03
Locatie: Herselt
Berichten: 990
[1/12] forloRn_ just joined
Citaat:
Oorspronkelijk geplaatst door Recipe4hate Bekijk bericht
Override maakt duidelijk aan andere programmeurs dat je een bepaalde functie overschrijft. In Java geeft dit enkel een waarschuwing, en je zal geen compile errors krijgen als je er geen @Override bijschrijft.
Mag ik je aanraden ook eerst even te zoeken op google oid. vooraleer je direct vragen stelt? Opzoeken laat je beter onthouden
Fout. Je zal inderdaad geen errors krijgen als je er geen @Override bij schrijft; belangrijker is dat je wél een error krijgt als je er @Override bij schrijft, en de method níet overridet (bijvoorbeeld als je een typfout maakt in de naam van de method).
Met citaat reageren
Oud 1 maart 2009, 08:58   #20 (permalink)  
breez is offline breez Stuur een bericht via MSN naar breez
breez's schermafbeelding
Approved 9-lifer
Geregistreerd: 25/12/02
Locatie: Brugge
Berichten: 3.658
[0/14] breez just joined
die @override zorgt er voor dat de standaard implementatie van de toString functie "overschreven" wordt

als je in dat geval de tostring zal aanroepen zal ie niet de code uitvoeren die de programmeertaal zelf voorschrijft, maar in de plaats de code die je zelf geschreven hebt
Met citaat reageren
Reageren


Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten)
 
Discussietools
Geef een waardering voor deze discussie
Geef een waardering voor deze discussie:

Regels voor berichten
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

vB-code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit
Trackbacks are Aan
Pingbacks are Aan
Refbacks are Aan



Alle tijden zijn GMT +1. Het is nu 11:50.


Copyright © 2009 T.Vgas - Wedstrijdreglement - Algemene voorwaarden - T-VGAS

Search Engine Optimization by vBSEO 3.5.1