java语言代码大全

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

1、获取要反射的方法

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

classClass{
@CallerSensitive
publicMethodgetMethod(Stringname,Class<?>...parameterTypes)
throwsNoSuchMethodException,SecurityException{
Objects.requireNonNull(name);
SecurityManagersm=System.getSecurityManager();
if(sm!=null){
//1.检查方法权限
checkMemberAccess(sm,Member.PUBLIC,Reflection.getCallerClass(),true);
}
//2.获取方法
Methodmethod=getMethod0(name,parameterTypes);
if(method==null){
thrownewNoSuchMethodException(methodToString(name,parameterTypes));
}
//3.返回方法的拷贝
returngetReflectionFactory().copyMethod(method);
}
@CallerSensitive
publicMethodgetDeclaredMethod(Stringname,Class<?>...parameterTypes)
throwsNoSuchMethodException,SecurityException{
Objects.requireNonNull(name);
SecurityManagersm=System.getSecurityManager();
if(sm!=null){
//1.检查方法是权限
checkMemberAccess(sm,Member.DECLARED,Reflection.getCallerClass(),true);
}
//2.获取方法
Methodmethod=searchMethods(privateGetDeclaredMethods(false),name,parameterTypes);
if(method==null){
thrownewNoSuchMethodException(methodToString(name,parameterTypes));
}
//3.返回方法的拷贝
returngetReflectionFactory().copyMethod(method);
}
}

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

double[]values=...;
for(doublevalue:values){
//TODO:处理value
}

List<Double>valueList=...;
for(Doublevalue:valueList){
//TODO:处理value
}

3、得到当前方法的名字

<spanstyle=
"font-family:Arial;font-size:14px;"
>StringmethodName=Thread.currentThread().getStackTrace()[
1
].getMethodName();</span>
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容