|
||||||
| Programming & Gamedesign - Alle vragen over Level Design, Modelling, Coding, Texturing, ... |
![]() |
|
|
LinkBack | Discussietools | Discussie waarderen |
|
|
#1 | ||||
|
[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 ![]() |
||||
|
|||||
|
|
#4 (permalink) | |||||
|
Citaat:
== 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) |
|||||
|
||||||
|
|
#11 (permalink) | |||||
|
Citaat:
dat dus. misschien gewoon slecht verwoord. |
|||||
|
||||||
|
|
#12 (permalink) | |||||
|
Citaat:
"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 |
|||||
|
||||||
|
|
#13 (permalink) | ||||
|
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 ![]() } |
||||
|
|||||
|
|
#17 (permalink) | ||||
|
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 ![]() |
||||
|
|||||
|
|
#19 (permalink) | |||||
|
Citaat:
|
|||||
|
||||||
|
|
#20 (permalink) | ||||
|
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 |
||||
|
|||||
![]() |
| Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten) | |
| Discussietools | |
| Geef een waardering voor deze discussie | |
|
|