中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java怎么使用注解和反射簡化編程

發布時間:2021-04-17 12:49:03 來源:億速云 閱讀:155 作者:小新 欄目:編程語言

這篇文章主要介紹Java怎么使用注解和反射簡化編程,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

具體如下:

一 點睛

當調用大量方法,可以使用反射和注解簡化編程。

二 代碼

import java.lang.annotation.Annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Method;
import java.util.ArrayList;
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface testAnnoation10 {
  public String name() default "methodname";
  public String unit() default "unit";
}
public class ch21_10 {
  public static void main( String[] args ) throws Exception {
    ch21_10 ch9 = new ch21_10();
    Method method[] = ch9.getClass().getMethods();
    for (Method method2 : method) {
      Annotation annotation = method2.getAnnotation(testAnnoation10.class);
      Class<?> ts[] = method2.getParameterTypes();
      if (method2.getName().indexOf("getData") == -1) continue;
      ArrayList<Object> params = new ArrayList<Object>();
      for (Class<?> class1 : ts) {
        if (class1.getSimpleName().equals("int")) {
          params.add(10);
        }
        if (class1.getSimpleName().equals("String")) {
          params.add("100");
        }
      }
      if (annotation != null) {
        testAnnoation10 t9 = (testAnnoation10) annotation;
        System.out.println(t9.name() + " is " + method2.invoke(ch9, params.toArray()) + " " + t9.unit());
      }
    }
  }
  @testAnnoation10(name = "SOC", unit = "%")
  public int getData1( int a ) {
    return a;
  }
  @testAnnoation10(name = "Electricity", unit = "Ah")
  public String getData2( String b ) {
    return b;
  }
  @testAnnoation10(name = "Tempreture", unit = "AF")
  public int getData3( int a, int b ) {
    return a + b;
  }
}

三 運行

Tempreture is 20 AF
Electricity is 100 Ah
SOC is 10 %

以上是“Java怎么使用注解和反射簡化編程”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福安市| 育儿| 涿州市| 南郑县| 改则县| 准格尔旗| 承德县| 仙桃市| 安达市| 延津县| 福清市| 定南县| 宜黄县| 孝义市| 九龙坡区| 万载县| 余干县| 沙湾县| 寻乌县| 宾川县| 崇礼县| 嘉兴市| 兰溪市| 大足县| 理塘县| 黄冈市| 光山县| 桐柏县| 云和县| 延寿县| 德钦县| 胶州市| 定襄县| 华坪县| 广饶县| 黔南| 咸宁市| 佳木斯市| 循化| 武功县| 麻江县|