Avatar billede decrypto Nybegynder
09. december 2003 - 19:22 Der er 18 kommentarer og
1 løsning

Meget let spørgsmål

Jeg har et simpelt spørgsmål.

Hvordan spørger jeg om en streng er ingenting.

Jeg har prøvet:
1.if(string ==''){}//giver fejl
2.if(string==""){}//opfattes overhovedet ikke
3.if(string==null){}//virker af og til

Problemet med den sidste er at jeg har en webside med et hidden input felt, når et hidden input felt med ingen værdi postes, virker nr 3. ikke.

Er der nogen hjælp derude?

/mvh
dEcRyPt0
Avatar billede Slater Ekspert
09. december 2003 - 19:24 #1
Hedder din variabel "string" ? ... Det er da et reserveret ord?

ellers test om længden af strengen == 0
Avatar billede decrypto Nybegynder
09. december 2003 - 19:25 #2
Den skal vel ikke trimmes vel?
Avatar billede decrypto Nybegynder
09. december 2003 - 19:26 #3
Ja ja ok. Den hedder noget andet men er af typen string. Mr.Ordret :o)
Avatar billede Slater Ekspert
09. december 2003 - 19:27 #4
Heh. Det var ikke for at fluekneppe, men det ville have været en mulig årsag til fejlen hvis du havde kaldt den string ;)
Avatar billede arne_v Ekspert
09. december 2003 - 19:27 #5
if(s.equals("")) {}
Avatar billede soreno Praktikant
09. december 2003 - 19:27 #6
if(myString.equals(""))
{
  //myString er tom
}
Avatar billede arne_v Ekspert
09. december 2003 - 19:28 #7
Eller:

if(s==null) {}

afhænger af om det er tom streng eller ingen værdi.
Avatar billede arne_v Ekspert
09. december 2003 - 19:30 #8
string er iøvrigt ikke et reserveret ord i Java.
Avatar billede jakoba Nybegynder
09. december 2003 - 19:31 #9
String vædrdier er objekter der *indeholder* en værdi
så din operator == sammenligner referencen til objektet snarere end værdien indeni.
for at sammenligne værdien indeni to String objekter bruger du standardfunktionerne .equals eller .compareto (som arne siger):
    if(s.equals("")) {}
eller også
    if(s.compareTo("")==0) {}

kik i API'en for String for at se hvordan de virker.
Avatar billede decrypto Nybegynder
09. december 2003 - 19:32 #10
Hmm jeg prøver mig ad
Avatar billede decrypto Nybegynder
09. december 2003 - 19:36 #11
Jeg får exeption fejl, når jeg enten bruger equals("") eller compareTo("")==0

Her er min kode:
-------------------------------------------------
if((p_SelDate.compareTo("")==0)||(p_SelDate==null)){
    p_Date=null;
}
else{
    p_Date=p_SelDate;
}
--------------------------------------------------------

Håber det er til at forstå.
Avatar billede arne_v Ekspert
09. december 2003 - 19:37 #12
De to test skal byttes om !
Avatar billede arne_v Ekspert
09. december 2003 - 19:37 #13
if((p_SelDate==null)||(p_SelDate.equals(""))){
Avatar billede decrypto Nybegynder
09. december 2003 - 19:40 #14
Jeg er ked af at sige det men jeg får exeption fejl.
Noget med java.lang.NullPointerExeption
Avatar billede arne_v Ekspert
09. december 2003 - 19:45 #15
Og du er sikker på at fejlen kommer der og ikke f.eks. relaterer sig til p_Date ?
Avatar billede arne_v Ekspert
09. december 2003 - 19:45 #16
public class S {
    private static void test(String s) {
        if((s==null) || (s.equals(""))) {
            System.out.println("Nothing");
        } else {
            System.out.println("Somehing");
        }
    }
    public static void main(String[] args) {
        test("abc");
        test("");
        test(null);
    }
}

giver:

Somehing
Nothing
Nothing

hos mig.
Avatar billede decrypto Nybegynder
09. december 2003 - 19:46 #17
Jeg skal lige prøve mig ad
Avatar billede decrypto Nybegynder
09. december 2003 - 19:52 #18
Det begynder at virke nu!
Avatar billede decrypto Nybegynder
09. december 2003 - 19:52 #19
Jeg giver det lidt mere for besværligheden. Tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester