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: [email protected] [email protected] [email protected] °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° > -----Původní zpráva----- > Od: [email protected] [mailto:[email protected]] za > uživatele Petr Franta > Odesláno: pátek 11. prosince 2009 09:59 > Komu: [email protected] > 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\bin>java -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\bin>java Test > Znak: ˇ 711 false > > c:\Program Files\Java\jdk16\bin>java -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\bin>java 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
