Portál AbcLinuxu, 26. dubna 2024 09:24


Dotaz: Java problém s StringBuffer v Eclipse

22.8.2010 12:07 ZAH | skóre: 43 | blog: ZAH
Java problém s StringBuffer v Eclipse
Přečteno: 384×
Odpovědět | Admin
Příloha:
Mám StringBuffer ve kterém skládám SQL dotaz pomocí append. Metoda v příloze. Někdy mi vrátí po připojení nesmysl v metodě toString()
sb StringBuffer  (id=134)	
   count	213	
   value	char[264]  (id=157)	
		[0...99]	
		[100...199]	
		[200...263]
Podle debugru by měl být v buffru string 213 znaků což je správné, ale metoda toString() vráti pouze prvních 7 znaků. Dála pole znaků v debugru je také vyplněné odpovídajícím textem.

Neexistuje něco (znak), který po připojení do SB takle zblbne Javu. Konkrétně v připojené metodě to aktuálně udělá až po append getWhere. Dík za každý nápad.

Eclipse Platform Version: 3.4.0 Build id: I20080617-2000

jre SUN 1.6.0_12 Centos 2.6.18-194.8.1.el5xen

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.8.2010 19:52 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Java problém s StringBuffer v Eclipse
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co znamená „metoda toString() vráti pouze prvních 7 znaků“, toString().length() je 7? Nemůže být problém jenom ve výpisu, že si ten řetězec necháte vypsat někam na terminál, a vypíše se nějaký řídící znak, který interpretuje „špatně“ terminál? Jinak StringBuffer je pro tento účel zbytečně synchronizovaný, použijte raději StringBuilder, bude to rychlejší.
22.8.2010 20:11 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Java problém s StringBuffer v Eclipse
Dík to je ono, vypíše length 213 znaků, ale vše to zpracuje jako krátký řetězec. Du si něco přečíst o řídících znacích v unicode a prohlédnout ještě jednou ten program, kde se bere ten paznak. StringBuilder vyzkouším zvyk, železná košile.
23.8.2010 15:59 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Java problém s StringBuffer v Eclipse
Příloha:
Tak jsem jásal předčasně String je dlouhý jak má, všechna písmena se zdají OK, jen se vypisuje jen začátek (SELECT ),. V příloze je dump dotyčného Stringu po znacích pozice,vlastní znak, typ znaku jako ho vrací Java a unicode hex string.

Už si vážně myslím, že jsem zralý pro Choholouška.
23.8.2010 16:01 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Java problém s StringBuffer v Eclipse
CO znamená „vypisuje se“? Problém bych hledal tam.
23.8.2010 17:01 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Java problém s StringBuffer v Eclipse
Příloha:
Asi je to problém Eclipse její konsole. String jsem, který jsem objevil citelný v debugru u proměnné, dal do geditu ulozil v souboru. Zkopíroval do clipboardu a zkusil vložit do konzole eclipse jako vstup stejný výsledek.

Postačí zkopírovat pouze o několik posledních znaků méně a chodí. Je to asi problém Eclipse, ale proboha kde. Nainstaloval jsem ted Eclipse v jinem compu a tam je to OK. Já se z toho p....
24.8.2010 06:32 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Java problém s StringBuffer v Eclipse
Co hlasi java -version? Vestecka gula sepka: OpenJDK.
24.8.2010 11:20 void
Rozbalit Rozbalit vše Re: Java problém s StringBuffer v Eclipse
V dotazu je:
jre SUN 1.6.0_12 Centos 2.6.18-194.8.1.el5xen
24.8.2010 13:45 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Java problém s StringBuffer v Eclipse
Aha. To vestecka gula prehliadla. :-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.