To bude tím, že se v Javě 5 přecházelo na jinou verzi normy Unicode konkrétně z
verze 2.1 z roku 1998 (ta ale oproti verzi 2.0, s níž Java začala, přidala
jenom znak eura) na verzi 4.0 z roku 2003.
Šestka podle mne implementuje verzi 5.0 z roku 2006. Ta udělala zase pár
kotrmelců - možná že ta změna interpretace háčku je jedním z nich. Každopádně
se v šestce třídy pro normalizaci znaků (převod háčko-čárkovaných písmen na
dvojici znak - diakritika a zpět) přestěhovaly z balíčku sun.text do java.text
a navíc se jejich metody i trochu změnily včetně požadovaných parametrů.
Pozor - v roce 2010 se chystá Unicode verze 6.0, takže můžeme v příští Javě
čekat v práci se znaky zase nějaké drobné změny.
Rozpovídal jsem se jenom proto, abyste věděli, že i věc, o níž si člověk myslí,
že už je dávno usazená, může pořád překvapovat - viz problém s diakritikou.
Preji krasny den
Have a nice day
°
Rudolf P E C I N O V S K Y
Senior EDU Expert, ICZ a.s.
Associate Professor
Department of information technologies
University of Economics, Prague
Tel: +420 244 101 764
GSM: +420 603 330 090
ICQ:158 156 600
Jabber: pecinov...@jabbim.cz
rud...@pecinovsky.cz
rudolf.pecinov...@i.cz
°
-Původní zpráva-
Od: konference-boun...@java.cz [mailto:konference-boun...@java.cz] za
uživatele Petr Franta
Odesláno: pátek 11. prosince 2009 09:59
Komu: konference@java.cz
Předmět: Je to písmeno nebo není ...
Začaly mi padat testy a po bádání jsem dospěl k tomuto:
Znak háček bez písmene - \u02C7 není v JDK 1.4 znak, ale v JDK 1.6
už znakem je! Asi těch znaků bude více, ale pro mne je to překvapením
...
public class Test {
/**
* Test znaku.
*/
public static void main(String[] args) {
char ch = '\u02C7';
System.out.println(Znak: + ch + + (int) ch + +
Character.isLetterOrDigit(ch));
}
}
C:\Program Files\Java\jdk14\binjava -version
java version 1.4.2_06
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)
C:\Program Files\Java\jdk14\binjava Test
Znak: ˇ 711 false
c:\Program Files\Java\jdk16\binjava -version
java version 1.6.0_14
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
c:\Program Files\Java\jdk16\binjava Test
Znak: ˇ 711 true
__ Informace od ESET NOD32 Antivirus, verze databaze 4677
(20091210) __
Tuto zpravu proveril ESET NOD32 Antivirus.
http://www.eset.cz
__ Informace od ESET NOD32 Antivirus, verze databaze 4677 (20091210)
__
Tuto zpravu proveril ESET NOD32 Antivirus.
http://www.eset.cz