• 技术文章 >java >java基础

    java语言代码大全

    小妮浅浅小妮浅浅2021-03-26 10:28:13原创5415

    我们在使用代码的时候,有很多便捷的操作,能够节约编写代码的效率和运行速度,也算是java中的小技巧,下面我们就带来展示。

    1、获取要反射的方法

    获取反射方法时,有两个方法,getMethod 和 getDeclaredMethod。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    class Class {

     @CallerSensitive

     public Method getMethod(String name, Class<?>... parameterTypes)

     throws NoSuchMethodException, SecurityException {

     Objects.requireNonNull(name);

     SecurityManager sm = System.getSecurityManager();

     if (sm != null) {

     // 1. 检查方法权限

     checkMemberAccess(sm, Member.PUBLIC, Reflection.getCallerClass(), true);

     }

     // 2. 获取方法

     Method method = getMethod0(name, parameterTypes);

     if (method == null) {

     throw new NoSuchMethodException(methodToString(name, parameterTypes));

     }

     // 3. 返回方法的拷贝

     return getReflectionFactory().copyMethod(method);

     }

     @CallerSensitive

     public Method getDeclaredMethod(String name, Class<?>... parameterTypes)

     throws NoSuchMethodException, SecurityException {

     Objects.requireNonNull(name);

     SecurityManager sm = System.getSecurityManager();

     if (sm != null) {

     // 1. 检查方法是权限

     checkMemberAccess(sm, Member.DECLARED, Reflection.getCallerClass(), true);

     }

     // 2. 获取方法

     Method method = searchMethods(privateGetDeclaredMethods(false), name, parameterTypes);

     if (method == null) {

     throw new NoSuchMethodException(methodToString(name, parameterTypes));

     }

     // 3. 返回方法的拷贝

     return getReflectionFactory().copyMethod(method);

     }

    }

    2、在Java5中,提供了for-each循环,从而简化了对数组和集合的循环。Fore-each循环允许您遍历数组而不需要保留传统for循环中的索引,也不需要在使用迭代器时调用while循环中的hasNext方法和next方法来遍历集合。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    double[] values = ...;

    for(double value : values) {

        // TODO: 处理value

    }

      

    List<Double> valueList = ...;

    for(Double value : valueList) {

        // TODO: 处理value

    }

    3、得到当前方法的名字

    1

    2

    3

    4

    5

    <span style=

    "font-family:Arial;font-size:14px;"

    >String methodName = Thread.currentThread().getStackTrace()[

    1

    ].getMethodName(); </span>

    以上就是java语言代码大全,关于这类的Java技巧还有很多,大家在学习的时候要注意总结和归纳。更多Java学习指路:Java基础

    专题推荐:java语言
    上一篇:java语言是一种什么语言 下一篇:java语言的特点有哪些

    相关文章推荐

    • Java语言开发中elasticsearch如何安装?• java中synchronized有什么用?• java内置锁的可重入性• java线程和进程的区分• java中使用Runnable实现线程• java线程优先级是什么• java CAS是什么• java语言是一种什么语言

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网