Примеры в этой статье делятся конкретным кодом китайских персонажей Java для инструмента Pinyin для вашей ссылки. Конкретный контент заключается в следующем
Импорт com.google.common.base.strings; import net.sourceforge.pinyin4j.pinyinhelper; import net.sourceforge.pinyin4j.format.hanyupinyinoutputformat; импорт net.sourceforge.pinyin4j.format.hanyupinytonetype; импорт. net.sourceforge.pinyin4j.format.exception.badhanyupinyinoutputformatcination; импорт org.slf4j.logger; импорт org.slf4j.loggerfactory; импорт java.util.arraylist; import java.util.list; import java.UtLemal; {Private Static Final Logger logger = loggerFactory.getLogger (pinyinutils.class); / ** * Single Word Parsing * * @param Str First * @return */ public Static String [] Convert (String Str) {String [] reslut = null; Hanyupinyinoutputformat hanyupinyinoutputformat = new hanyupinyinoutputformat (); hanyupinyinoutputformat.settonetype (hanyupinyintonetype.without_tone); try {reslut = pinyinhelper.tohanyupinyinstringarray (str.charat (0), hanyupinyinoutputformat); Reeset <string> stringtreeset = new Treeset <> (); for (int i = 0; i <reslut.length; i ++) {if (reslut.length> = 3) {break; } stringtreeset.add (reslut [i] .replace ("u:", "v")); } reslut = new String [stringTreeset.size ()]; reslut = stringtreeset.toarray (reslut); } catch (badhanyupinyinoutputformatcomination badhanyupinyinoutputformatcanciany) {badhanyupinyinoutputformatcomination.printstacktrace (); } catch (Exception e) {logger.error ("[Converter]:", e); } return Reslut; } / ** * Phrase parsing (полное письмо) * * @param chs * @return * / public static static getelling (string chs) {return translate (chs, false); } / ** * Китайские символы к пинеину * * @param chs * @param аббревиатура * @return * / private static String translate (string chs, boolean aquonmy) {stringbuffer buffer = new StringBuffer (); if (strings.isnullorempty (chs)) return ""; try {list <list <string >> temps = new ArrayList <> (); int len = chs.length (); int len1 = 0; for (int i = 0; i <len; i ++) {list <string> stringlist = new ArrayList <> (); String key = chs.charat (i) + ""; if (key.getbytes (). Length> = 2) {String [] temp = convert (key); if (temp.length == 0) {продолжить; } if (temp == null) {stringlist.add (""); } else {for (string v: temp) {stringlist.add (v); }}} else {stringlist.add (key); } temps.add (StringList); Len1 ++; } List <list <String >> t = new ArrayList <> (); for (int i = 0; i <len1; i ++) {list <string> currentList = new ArrayList <> (); Список <string> stringlist = temps.get (i); if (stringlist! = null) {for (string s: stringlist) {if (щетковая) {s = s.charat (0) + ""; } if (i> 0) {list <string> prelist = t.get (i - 1); if (prelist! = null) {for (string s1: prelist) {currentlist.add (s1 + s); }}}} else {currentList.add (s); }}} t.add (i, currentlist); } if (t.size ()> 0) {list <string> currentList = t.get (t.size ()-1); if (currentList! = null) {for (String current: currentList) {buffer.append (current); buffer.append (""); }}} return buffer.tostring (); } catch (Exception e) {logger.error ("[getSortletters]:", e); возвращаться ""; }} / ** * Фраза } / ** * Получить начальную букву * * @return * / public static String getSortletters (String pingyin) {try {String sortString = pingyin.substring (0, 1) .touppercase (locale.getDefault ()); // регулярное выражение, чтобы определить, является ли первая буква английской буквой if (sortstring.matches ("[az]")) {return sortString.touppercase (locale.getDefault ()); }} catch (Exception e) {logger.error ("[getSortletters]:", e); } возвращаться "#"; } public static void main (string [] args) {pinyinutils p = new PinyInutils (); System.out.println (p.getselling ("single")); System.out.println (p.getsmallselling ("test")); }} Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.