2016-09-01 6 views
2

æøå является последней буквой в норвежском алфавитеКак сортировать строку с норвежскими символами в Java?

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Æ Ø Å 

    List<String> words = Arrays.asList(
    "A", "B", "Z", "Æ", "Ø", "Å" ); 

    Locale la = new Locale("nor", "NOR"); 
    Collator coll = Collator.getInstance(la); 
    coll.setStrength(Collator.PRIMARY); 
    Collections.sort(words, coll); 
    System.out.println(""+ words); 

Ответ должен быть

A, B, Z, Æ, Ø Å,

Но я получаю:

A, Å, Æ, B, Z, Ø

Может ли кто-нибудь предложить, как получить выше выход?

ответ

4

Язык был не прав. Для норвежском, язык 'нет', и страна не является 'НЕТ'

List<String> words = Arrays.asList(
     "Abba", "B", "BØ", "BÆ", "Z", "Æ", "Ø", "Å" ); 

    Locale la = new Locale("no", "NO"); 
    Collator coll = Collator.getInstance(la); 
    coll.setStrength(Collator.PRIMARY); 
    Collections.sort(words, coll); 
    System.out.println(""+ words); 

Правильный выход: [Авва, B, BÆ, BO, Z, Æ, Ø, Å]

+1

Там же ** NO ** как вы ответили на свой вопрос, что быстро. ;) – byxor

+0

Я делал рабочую сторону мудрым и провел 30 минут и не поправлялся. Это было хитом и тиралом, который работал внезапно после публикации Вопроса. Поэтому я решил поделиться. Ничего больше – fatherazrael

+0

Интересный вопрос и ответ, хотя, я рад, что вы поделились. – byxor