getMethod和getAnnotation「建议收藏」

getMethod和getAnnotation「建议收藏」1该方法用于取得指定的实体类的实体名称。如果指定的实体类的实体标签定义了名称,则取该名称,否则取类名。例如:有实体类SampleEntityJava代码importjavax.persistence.Entity; @Entity(name=”SpecialName”) publicclassSampleEntity{ …

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1

该方法用于取得指定的实体类的实体名称。如果指定的实体类的实体标签定义了名称,则取该名称,否则取类名。

 

例如:有实体类SampleEntity

Java代码 

 收藏代码

  1. import javax.persistence.Entity;  
  2.     
  3. @Entity(name = “SpecialName”)  
  4. public class SampleEntity {  
  5.     
  6. }  

 以SampleEntity类作为参数调用entityName方法:

1、方法中第一行,String entityName = entityClass.getSimpleName();

      变量entityName的值设为类SampleEntity的短名称,即“SampleEntity”。

2、方法中第二行,Entity entity = entityClass.getAnnotation(Entity.class);

      即取得SampleEntity的@Entity标签。

3、方法中第三行到第六行,if(entity.name()!=null&&!””.equals(entity.name()))
                                             {

                                                 entityName = entity.name();

                                             }

      即@Entity标签中定义了name并且name不是空串时, 变量entityName的值设为@Entity标签中name的值,即“SpecialName”。

 4、返回变量entityName,值为“SpecialName”。

 

 

如果SampleEntity的@Entity标签没有定义name

Java代码 

 收藏代码

  1. import javax.persistence.Entity;  
  2.    
  3. @Entity  
  4. public class SampleEntity {  
  5.    
  6. }  

 

 方法中第三行,if(entity.name()!=null&&!””.equals(entity.name()))条件不成立,最终方法返回变量entityName,值为“SampleEntity”。

 

2、Method getMethod(String name, Class<?>… parameterTypes)  
–返回一个 Method 对象,它反映此 Class 对象所表示的类或接口的指定公共成员方法。  
parameterTypes如:String.class、int.class这些字节码才是Class类的对象
 

也可以此种方式:
Method method = XXX.getClass().getMethod(methodName,new Class[0]);
//getMethod第一个参数是方法名,第二个参数是该方法的参数类型,
//因为存在同方法名不同参数这种情况,所以只有同时指定方法名和参数类型才能唯一确定一个方法  

如一个函数 int Test(int a, String str);
对应的getMethod方法:
1. getMethod(“Test”,int.class,String.class);
2. getMethod(“Test”,new Class[]{int.class,String.class});

然后通过invoke来调用此方法

函数原型:Object java.lang.reflect.Method.invoke(Object receiver, Object… args)
    //Method类的invoke(Object obj,Object args[])方法接收的参数必须为对象,
    //如果参数为基本类型数据,必须转换为相应的包装类型的对象。invoke()方法的返回值总是对象,
    //如果实际被调用的方法的返回类型是基本类型数据,那么invoke()方法会把它转换为相应的包装类型的对象,再将其返回
    
    receiver:该方法所在类的一个对象
    args: 传入的参数 如 100,“hello”

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192625.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • fromopen函数通达信_precision函数

    fromopen函数通达信_precision函数apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。  不同的是apply将会覆盖目标对象中的属性,而applyIf只拷贝目标对象中没有而源对象中有的属性。 apply方法的签名为“apply(Objectobj,Objectconfig,Objectdefaults):Object”, 该方法包含三个参数…

    2022年7月28日
    4
  • MATLAB画图语句_excel绘图技巧

    MATLAB画图语句_excel绘图技巧转载画图技巧matlab调用OriginMatlab作出的图普遍没有Origin作出的美观好看,而且导出为eps或emf格式后会有各种奇怪的Bug。目前普遍采用的一种方法是,将Matlab数据导出为mat文件后再导入Origin中手工作图,这种方式需要不少重复性劳动,并不是一种很完美的解决方案。前几天偶然看到Origin提供了COM接口可供Matlab调用,于是就研究了下可否用Matla…

    2022年9月15日
    4
  • JS闭包的作用与优缺点[通俗易懂]

    JS闭包的作用与优缺点[通俗易懂]一、什么是闭包闭包是指一个函数和对其周围状态(lexicalenvironment,词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)。简单来说就是指有权访问另一个函数作用域中变量的函数。举个例子:functionfn(){varnum=10;functionfun(){console.log(num);}fun();}fn();这就是一个闭…

    2025年6月20日
    5
  • 手机桌面锁屏时钟_手机锁屏时钟软件

    手机桌面锁屏时钟_手机锁屏时钟软件桌面锁屏时钟是一款专门为用户提供手机便捷的学习生活音乐时钟管理的软件,用户可以在线设置非常简约的界面,自带了时间和日期,查看天气,温度和降噪音播放音乐的功能,利用经典的动态翻页,可以选择丰富的皮肤,让自己体验非常丰富的桌面锁屏,提供了强大的工具箱,可以在线选择闹钟和计时器,辅助自己学习生活,在线能够播放舒适的音乐背景,支持用户在手机上面自己自由定义设置锁屏桌面,可以调节时钟和日期的样式。桌面锁屏时…

    2022年9月29日
    2
  • IDEA激活成功教程后一直提示JetbrainsAgent 相关的弹框问题

    IDEA激活成功教程后一直提示JetbrainsAgent 相关的弹框问题激活成功教程后打开IDEA就弹框,关闭之后会自动打开浏览器,隔一会也会弹出来 也是一样的问题一开始是说把txt 和 jar 文件放一个路径下之类的方法,几经波折,发现没任何用处~最后各种搜索排查,在设置下更改配置就不弹啦~settings设置下搜索agent 取消”Instrumenting agent(requires debugger restart)”在 Reload classes after compilation:选择第一个 Always…

    2022年8月19日
    9
  • Matlab由三维散点绘制三维曲面(含等高线,剖面图)「建议收藏」

    Matlab由三维散点绘制三维曲面(含等高线,剖面图)「建议收藏」绘图描述:由若干个给定的三维散点(x,y,z)绘制一个三维的曲面,具体的效果如图:伪彩图:等高线:三维曲面(深色):三维曲面(浅色)+等高线:剖面图:Matlab程序如下:其中A就是我们散点的数据矩阵A=[173.699116.986-409.863130.39108.312-388.571187.8261…

    2022年10月11日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号