ตัวอย่างในบทความนี้แบ่งปันรหัสเฉพาะของอักขระจีน Java ไปยังเครื่องมือ Pinyin สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
นำเข้า com.google.common.base.strings; นำเข้า net.sourceforge.pinyin4j.pinyinhelper; นำเข้าสุทธิ. sourceforge.pinyin4j.format.hanyupinyinoutputformat; นำเข้า net.sourceforge.pinyin4j.format.hanyupinetype net.sourceforge.pinyin4j.format.exception.badhanyupinyinoutputformatcombination; นำเข้า org.slf4j.logger; นำเข้า org.slf4j.loggerfactory; นำเข้า Java.util.arraylist Pinyinutils {ส่วนตัว Logger สุดท้ายคงที่ logger = loggerFactory.getLogger (pinyinutils.class); / ** * การแยกวิเคราะห์คำเดียว * * @param str ก่อน * @return */ สตริงคงที่สาธารณะ [] แปลง (สตริง str) {สตริง [] reslut = null; hanyupinyinoutputformat hanyupinyinoutputformat = ใหม่ hanyupinyinoutputformat (); hanyupinyinoutputformat.settonetype (hanyupinyintonetype.without_tone); ลอง {reslut = pinyinhelper.tohanyupinyinstringarray (str.charat (0), hanyupinyinoutputformat); TreeSet <String> StringTreeset = ใหม่ TREESET <> (); สำหรับ (int i = 0; i <reslut.length; i ++) {ถ้า (reslut.length> = 3) {break; } stringtreeset.add (reslut [i]. replace ("u:", "v")); } reslut = สตริงใหม่ [stringtreeset.size ()]; reslut = stringtreeset.toarray (reslut); } catch (badhanyupinyinoutputformatcombination badhanyupinyinoutputformatcombination) {badhanyupinyinoutputformatcombination.printstacktrace (); } catch (exception e) {logger.error ("[แปลง]:", e); } return reslut; } / ** * การแยกวิเคราะห์วลี (การเขียนเต็มรูปแบบ) * * @param chs * @return * / สตริงคงที่สาธารณะ getselling (สตริง chs) {return translate (chs, false); } / ** * อักขระภาษาจีนถึง pinyin * * @param chs * @param ตัวย่อ * @return * / สตริงคงที่ส่วนตัวแปล (สตริง chs, ตัวย่อบูลีน) {Stringbuffer buffer = new Stringbuffer (); ถ้า (strings.isnullorempty (CHS)) กลับ ""; ลอง {list <list <string>> temps = new ArrayList <> (); int len = chs.length (); int len1 = 0; สำหรับ (int i = 0; i <len; i ++) {รายการ <String> stringList = new ArrayList <> (); String key = chs.charat (i) + ""; if (key.getBytes (). ความยาว> = 2) {string [] temp = แปลง (คีย์); if (temp.length == 0) {ดำเนินการต่อ; } if (temp == null) {stringlist.add (""); } else {สำหรับ (สตริง V: temp) {stringlist.add (v); }}} else {stringlist.add (คีย์); } temps.add (StringList); Len1 ++; } list <list <String>> t = arrayList ใหม่ <> (); สำหรับ (int i = 0; i <len1; i ++) {list <string> currentList = new ArrayList <> (); รายการ <String> stringList = temps.get (i); if (StringList! = null) {สำหรับ (String S: StringList) {ถ้า (ตัวย่อ) {S = S.Charat (0) + ""; } if (i> 0) {รายการ <String> prelist = t.get (i - 1); if (prelist! = null) {สำหรับ (สตริง s1: prelist) {currentlist.add (s1 + s); }}}} else {currentlist.add (s); }}} t.add (i, currentlist); } if (t.size ()> 0) {รายการ <String> currentList = t.get (t.size ()-1); if (currentList! = null) {สำหรับ (String current: currentList) {buffer.append (ปัจจุบัน); buffer.append (""); }}} return buffer.toString (); } catch (exception e) {logger.error ("[getSortletters]:", e); กลับ ""; }} / ** * การแยกวิเคราะห์วลี (ตัวย่อ) * * @param chs * @return * / สตริงคงที่สาธารณะ getSmallselling (สตริง chs) {return translate (chs, true); } / ** * รับจดหมายเริ่มต้น * * @return * / สตริงคงที่สาธารณะ getSortletters (สตริง pingyin) {ลอง {สตริง sortString = pingyin.substring (0, 1) .touppercase (locale.getDefault ()); // นิพจน์ทั่วไปเพื่อตรวจสอบว่าตัวอักษรตัวแรกเป็นตัวอักษรภาษาอังกฤษหรือไม่ถ้า (sortstring.matches ("[AZ]")) {return sortString.touppercase (locale.getDefault ()); }} catch (exception e) {logger.error ("[getSortletters]:", e); } กลับ "#"; } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {pinyinutils p = ใหม่ pinyinutils (); System.out.println (P.GetSelling ("Single")); System.out.println (P.GetSmallselling ("ทดสอบ")); - ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น