pinyin 4 jツールクラス--Java中国語文字操作:ソート、ピンイン
5068 ワード
直接コードをつけましょう.男性をピンインに変換し、「pinyin 4 j-2.5.0.jar」を使用します.
1、ChinaWord.JAva:男のソート
反転:[張偉翔,Andy,劉楽楽,劉宏全,楊陽,趙凡,王生]昇順:[Andy,劉宏全,劉楽楽,王生,楊陽,張偉翔,趙凡]降順:[趙凡,張偉翔,楊陽,王生,劉楽楽,劉宏全,Andy]
2、PinyiTest.JAva:漢字をピンインに変換
zhong guo cheng xu yuan ,lü lin hao han ! '「重い」の第1の読み方は、zhong「重い」の第2の読み方は、chong
1、ChinaWord.JAva:男のソート
/**
* @ :com.andy. <br>
* @ :Test.java<br>
* @ :<br>
* @ :Andy.wang<br>
* @ :2013-9-3 11:53:45<br>
* @ :<br>
* @ :<br>
*/
package com.andy.huanzipaixu;
import java.text.Collator;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
/**
* @ :com.andy. <br>
* @ :ChinaWord.java<br>
* @ : <br>
* @ :Andy.wang<br>
* @ :2013-9-3 11:53:45<br>
* @ :<br>
* @ :<br>
*/
public class ChinaWord {
// Java " "
private static final Locale china = Locale.CHINA;
public static void main(String[] args) {
String[] names = { " ", " ", " ", " ", " ", "Andy", " " };
ChinaWord.reverse(names);
System.out.println(" :" + Arrays.asList(names));
ChinaWord.orderAsc(names);
System.out.println(" :" + Arrays.toString(names));
ChinaWord.orderDesc(names);
System.out.println(" :" + Arrays.toString(names));
}
/**
*
* @ :orderDesc<br>
* @ : <br>
* @ :Andy.wang<br>
* @ :2014-3-27 05:14:21 <br>
* @param param :
* :void
*/
public static void orderDesc(String[] param) {
Arrays.sort(param, Collections
.reverseOrder(Collator.getInstance(china)));
}
/**
*
* @ :orderAsc<br>
* @ : <br>
* @ :Andy.wang<br>
* @ :2014-3-27 05:09:50 <br>
* @param param
* :
* <br>
* :void
*/
public static void orderAsc(String[] param) {
Arrays.sort(param, Collator.getInstance(china));
}
/**
*
* @ :reverse<br>
* @ : <br>
* @ :Andy.wang<br>
* @ :2014-3-27 04:42:13 <br>
* @param param
* :
* <br>
* :void
*/
public static void reverse(String[] param) {
List<String> list = Arrays.asList(param);
Collections.reverse(list);
}
}
テスト結果:反転:[張偉翔,Andy,劉楽楽,劉宏全,楊陽,趙凡,王生]昇順:[Andy,劉宏全,劉楽楽,王生,楊陽,張偉翔,趙凡]降順:[趙凡,張偉翔,楊陽,王生,劉楽楽,劉宏全,Andy]
2、PinyiTest.JAva:漢字をピンインに変換
package com.andy.pinyi;
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
/**
*
* @ :PinyiTest.java <br>
* @ : , pinyin4j-2.5.0.jar<br>
* @ : Andy.wang <br>
* @ : 2012-9-5 05:05:29 <br>
* @ : <br>
* @ : <br>
*/
public class PinyiTest {
static HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
static {
/**
* HanyuPinyinToneType : 1、WITHOUT_TONE : 2、WITH_TONE_NUMBER
* : 3、WITH_TONE_MARK : <br>
* HanyuPinyinCaseType : 1、LOWERCASE : 2、UPPERCASE : <br>
* HanyuPinyinVCharType : 1、WITH_U_UNICODE : ü 2、WITH_U_AND_COLON
* : U 3、WITH_V : V
*/
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
//
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
//
format.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);
}
/**
*
* @ :pinyi<br>
* @ : <br>
* @ :Andy.wang<br>
* @ :2014-3-27 05:31:22 <br>
* @param param
* :
* @return :String
*/
@SuppressWarnings("deprecation")
public static String pinyi(String param) {
if (null == param || "".equals(param)) {
return "";
} else {
try {
return PinyinHelper.toHanyuPinyinString(param, format, " ");
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
}
return null;
}
/**
*
* @ :duoYin<br>
* @ : <br>
* @ :Andy.wang<br>
* @ :2014-3-27 05:58:30 <br>
* @param c
* :
* @return :String[]
*/
public static String[] duoYin(char c) {
try {
return PinyinHelper.toHanyuPinyinStringArray(c, format);
} catch (BadHanyuPinyinOutputFormatCombination e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
String str = " , !";
System.out.println(PinyiTest.pinyi(str));
char c = ' ';
String[] cs = PinyiTest.duoYin(c);
for (int i = 0; i < cs.length; i++) {
System.out.println("'" + c + "' " + (i + 1) + " :" + cs[i]);
}
}
}
テスト結果:zhong guo cheng xu yuan ,lü lin hao han ! '「重い」の第1の読み方は、zhong「重い」の第2の読み方は、chong