Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Java 1.5 - Da li je String bugovit?

[es] :: Java :: Java 1.5 - Da li je String bugovit?

[ Pregleda: 2358 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

braneiv

Član broj: 68650
Poruke: 52
*.dynamic.sbb.co.yu.



Profil

icon Java 1.5 - Da li je String bugovit?10.06.2007. u 19:43 - pre 205 meseci
Radim sa java 1.5.0_08.
Mozda sam danas previse radio (desi mi se nekada da se preopteretim pa ne vidim svoje banalne greske :)).


Code:

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        
        //Prvi problem:
        
        String oldPart = "(Object)";
        String newPart = "(Object object0)";
        String string ="public void setValue(Object)";
        string = string.replaceAll(oldPart, newPart);
        System.out.println("Novi String je: " + string);


        //Drugi problem:
        String [] strings = null; 
        strings = "neki.paket.Klasa".split(".");
        System.out.println("Length je: " + strings.length);    
    }

}



Ovaj trivijalni program kod mene daje sledeci izlaz:

Code:

Novi String je: public void setValue((Object object0))
Length je: 0


Valjda je jasno... ((Object object0)) umjesto (Object object0) ... duzina niza 0 ???
Ne sjecam se da sam ovakvih problema imao sa javom 1.4... ali opet, sve je moguce...
 
Odgovor na temu

filmil
Filip Miletić
Oce Technologies B.V., inženjer
hardvera
Arcen, NL

Član broj: 243
Poruke: 2114
*.xs4all.nl.

Jabber: filmil@jabber.org
ICQ: 36601391


+3 Profil

icon Re: Java 1.5 - Da li je String bugovit?10.06.2007. u 20:20 - pre 205 meseci
Prema http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html,
prvi argument metoda .replaceAll i .split klase String je regularni
izraz. U regularnim izrazima zagrade i tačka su specijalni znaci koji
se naročito tumače. Ako želiš da tražiš zagrade i tačku u nizu, moraš
da citiraš upotrebom "\". Dodatno pošto je "\" specijalan znak u Javinim
stringovima, moraš i njega da citiraš upotrebom "\\".

Ovo je ispravljen program i njegov izlaz, pa vidi da li ti odgovara:
Code:
public class Test {

public static void main(String[] args) {

//Prvi problem:

String oldPart = "\\(Object\\)";
String newPart = "(Object object0)";
String string ="public void setValue(Object)";
string = string.replaceAll(oldPart, newPart);
System.out.println("Novi String je: " + string);


//Drugi problem:
String [] strings = null;
strings = "neki.paket.Klasa".split("\\.");
System.out.println("Length je: " + strings.length);
}

}



Code:
filip@cow:~
$ javac Test.java
filip@cow:~
$ java Test
Novi String je: public void setValue(Object object0)
Length je: 3
filip@cow:~
$



f
 
Odgovor na temu

anon315

Član broj: 315
Poruke: 1657
*.adsl.sezampro.yu.



+13 Profil

icon Re: Java 1.5 - Da li je String bugovit?10.06.2007. u 20:30 - pre 205 meseci
Code:

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        
        //Prvi problem:
        String oldPart = "Object";
        String newPart = "Object object0";
        String string ="public void setValue(Object)";
        string = string.replaceAll(oldPart, newPart);
        System.out.println("Novi String je: " + string);

        //Drugi problem:
        String [] strings = "neki.paket.Klasa".split("\\\\.");
        System.out.println(strings[0]);
        System.out.println("Length je: " + strings.length);    
    }

}


Prvi problem si ocigledno zeznuo bezveze, a za ovo drugo - u pitanju je regepx, a tamo je tacka specijalan karakter, pa moras da ga eskejpujes (posto je i \ specijalan, moras i njega).

Btw, najsmesnije je sto ovde imamo HTML, sa pa sam 2 backslasha morao da napisem kao 4 :)

[Ovu poruku je menjao Vanja Petreski dana 11.06.2007. u 18:13 GMT+1]

[Ovu poruku je menjao Vanja Petreski dana 11.06.2007. u 18:13 GMT+1]
 
Odgovor na temu

braneiv

Član broj: 68650
Poruke: 52
*.dynamic.sbb.co.yu.



Profil

icon Re: Java 1.5 - Da li je String bugovit?10.06.2007. u 20:31 - pre 205 meseci
@filmil

Uh... koji previd. Hvala ti puno.

@Vanja Petreski

Hvala i tebi, ali prvi problem nisam zeznuo bezveze, vec sam samo dao bezveze primjer... a moglo je biti i ovako:

Code:

String string ="public Object transform(Object)";


i jos raznih kombinacija...
 
Odgovor na temu

anon315

Član broj: 315
Poruke: 1657
*.adsl.sezampro.yu.



+13 Profil

icon Re: Java 1.5 - Da li je String bugovit?10.06.2007. u 20:55 - pre 205 meseci
Da, da, tako je..
 
Odgovor na temu

[es] :: Java :: Java 1.5 - Da li je String bugovit?

[ Pregleda: 2358 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.