是否可以在运行时对英语以外的语言进行排序?到目前为止我有这样的事情:
String bug_arr={"Инсталиране на безжична връзка","Инсталиране на безжична връзка","Инструкции за безопасност"};
String arabic_arr={"رحمن","مدينة"};
String en_arr={"Hello","Air"};
这可以分类 - Arrays.sort(bug_arr);
吗?
不幸的是,当我尝试这个时,我收到一条消息说'Java / Eclipse:某些字符无法使用“Cp1252”字符编码进行映射。
有人有任何想法吗?
答案 0 :(得分:2)
使用Collator排序。象 -
Collator collator = Collator.getInstance(Locale.JAPAN);
Collections.sort(phraseList, collator);
实施例 -
String arabic_arr[] = {"رحمن","مدينة"};
Collator arabicCollator = Collator.getInstance(new Locale("ar"));
Collections.sort(Arrays.asList(arabic_arr), arabicCollator);
修改强>
对于与编码相关的问题,您可能希望看到此答案 -
答案 1 :(得分:1)
听起来正在发生的事情是Eclipse正在试图弄清楚如何将这些字符串映射到它能够理解的语言,但它失败了,因为cp1252不支持像你提到的那样的unicode字符串。
如果是这种情况,解决方案是将文件保存为UTF-8。为此,请转到文件 - >属性。选择左侧的资源,然后转到“文本文件编码”。将其设置为UTF-8。
答案 2 :(得分:0)
到目前为止我担心它应该有效。但只需更新ADT并使用高于7的API(可能来自姜饼)..您可以直接在Java程序中对其进行硬编码,也可以将其用作资源数组。
setText(“bengali语言和阿拉伯语”);
上面的方法只适合我的母语孟加拉语,也适用于阿拉伯语。可能只需更新即可。