package jp.co.nisz.batch;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
public class JapaneseSort {
public static void main(String[] args) {
List names = new ArrayList();
names.add("にんにく粉末");
names.add("アルファルファミール");
names.add("オリーブ葉");
names.add("とうふかす");
Collator jaCollator = Collator.getInstance(Locale.JAPANESE);
jaCollator.setStrength(Collator.TERTIARY);
jaCollator.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
Collections.sort(names, jaCollator);
System.out.println("Sorted List:");
for (String name : names) {
System.out.println(name);
}
// Expected Result(Oracle Result): とうふかす, にんにく粉末, アルファルファミール, オリーブ葉
// Real Result: アルファルファミール, オリーブ葉, とうふかす, にんにく粉末
}
}
Я пробовал использовать другие силы/разложение, но ничего не делало результат похожим на результат Oracle. Есть ли способ добиться результата, аналогичного Oracle в Java?
public class JapaneseSort { public static void main(String[] args) { List names = new ArrayList(); names.add("にんにく粉末"); names.add("アルファルファミール"); names.add("オリーブ葉"); names.add("とうふかす");
System.out.println("Sorted List:"); for (String name : names) { System.out.println(name); } // Expected Result(Oracle Result): とうふかす, にんにく粉末, アルファルファミール, オリーブ葉 // Real Result: アルファルファミール, オリーブ葉, とうふかす, にんにく粉末 } } [/code] Я пробовал использовать другие силы/разложение, но ничего не делало результат похожим на результат Oracle. Есть ли способ добиться результата, аналогичного Oracle в Java?