- if(a = "sætning")
Den siger at den ikke bare vil lave en streng om til en falsk/sand værdi. Problemet er at du sammenligner ikke, a med "sætning" du sætter faktisk a lig med "sætning" og så er "sætning" resultat inde i paranteserne. Og "sætning" kan den ikke vurdere om er sand eller falsk.
I stedet for '=' bør du bruge '==' som sammenligner om to objekter er ens og giver sand/falsk. Så vil den kompilere. Der er dog den hage at strenge i Java ikke kan sammenlignes "ordentlig" med ==. I stedet skal du bruge en metode på strengen kaldet equals:
- if(a.equals("sætning"))
Årsagen er at med strenge så laver java noget der hedder "reference equality". Kort sagt så er 10 = 10, men "Hej" != "Hej". Det svarer lidt til at du har 2 skilte med samme tekst. Kan godt være at teksten er ens men det er stadig to forskellige skilte. Med equals tjekker Java om bogstaver på skiltet er de samme.
Indlæg senest redigeret d. 01.02.2012 22:25 af Bruger #14645