البحث الرئيسي في هذه المقالة هو الحصول على توقيعات طريقة Java ، وما يلي هي أمثلة تنفيذ محددة.
رمز المثال:
package com.yunshouhu ؛ استيراد java.lang.reflect.field ؛ استيراد java.lang.reflect.method ؛ استيراد java.lang.reflect.type ؛ import java.util.collection com.alibaba.fastjson.parser.deserializer.ObjectDeserializer ؛/*** الحصول على توقيع طريقة Java ، راجع Javah -jni classpath/javap -s classpath. * Author wujianhua * date 5 سبتمبر ، 2017 في 3:25:51 PM * url http://blog.csdn.net/earbao */فئة عامة ASMUTILSFORJAVAH {system.out.println (asmutilsforjavah.getdesc (system.class)) ؛ system.out.println (asmutilsforjavah.getdesc (string.class)) ؛ s ystem.out.println (asmutilsforjavah.getdesc (integer.class)) ؛ system.out.println (asmutilsforjavah.getdesc (int.class)) ؛ الطريقة method = asmutilsforjavah.class.getDeclaredMethod ("Main" ، String []. class) ؛ system.out.println ("Javah -jni ") ؛ system.out.println (asmutilsforjavah.getdesc (method)) ؛ system.out.println (asmutilsforjavah.gettype (system.class) vmname) {Final String LowerVmName = vmname.toLowerCase () ؛ إرجاع lowervmname.contains ("dalvik") || lowervmname.contains ("lemur") ؛} isandroid isandroid () {return isandroid (system.getProperty ("java.vm.name")) ؛ method.getParameterTypes () ؛ for (int i = 0 ؛ i <types.length ؛ ++ i) {buf.append (getDesc (types [i])) ؛} buf.append (") {if (returntype.isprimitive ()) {return getPrimitiVeletter (returntype) ؛} if (returntype.isarray ()) {return "[" + getDesc (returntype.getComponentType ()) ؛} return "l" + gettype ( parametertype) {if (parametertype.isarray ()) {return "[" + getDesc (parametertype.getComponentType ()) ؛} if (! parametertype.isprimitive ()) {final string clsname = parametertype.getName () ؛ getPrimitiVeletter (parametertype) ؛} السلسلة الثابتة العامة getPrimitiVeletter (الفئة النهائية <؟> type) {if (integer.type.equals (type)) {return "i" ؛ (character.type.equals (type)) {return "c" ؛} if (byte.type.equals (type)) {return "b" ؛} if (short.type.equals (type)) {return (double.type.equals (type)) {return "d" ؛} رمي جديد alualalStateException ("النوع:" + type.getCanonicalName () + "ليس نوعًا بدائيًا") class [0]) ؛ return method.getgenericreturntype () ؛} catch (استثناء ex) {return null ؛}} النوع الثابت العام getFieldType (الفئة النهائية <؟> clazz ، Final FieldName) parsearray (مجموعة المجموعة النهائية ، الكائنات النهائية deser ، deser ، defaultjsonparser النهائي ، النوع النهائي النوع ، اسم الكائن النهائي) العنصر = deser.deserialze (parser ، type ، (object) index) ؛ collection.add (item) ؛ ++ index ؛ if (lexer.token ()! = 16) {break ؛} lexer.nexttoken (14) ؛} parser.accept (15 ، 16) ؛}}}ما سبق هو المحتوى الكامل لهذه المقالة حول الحصول على رمز المثيل لتوقيعات طريقة Java. آمل أن يكون ذلك مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!