java获取当前类上的注解内容

java获取当前类上的注解内容,第1张

@Retention(RetentionPolicy.RUNTIME) // 注解会在class字节码文件中存在,在运行时可以通过反射获取到

@Target({ElementType.FIELD,ElementType.METHOD})//定义注解的作用目标**作用范围字段、枚举的常量/方法

@Documented//说明该注解将被包含在javadoc中

public @interface FieldMeta {

/**

* 是否为序列号

* @return

*/

boolean id() default false

/**

* 字段名称

* @return

*/

String name() default ""

/**

* 是否可编辑

* @return

*/

boolean editable() default true

/**

正则的效率非常低,有很多不用正则的好方法:

一,示例 某java程序

比如说一个Test2.java,将其保存在C盘根目录下,代码内容如下

/**

* @author xxx

*

*/

public class Test2 {

/* main method */

public static void main(String[] args) {

//a

int a =5

//b

int b =5

//a+b

System.out.println(a+b)

}

}

二,提取注释程序,将所有注释放到一个List里面,最后打印输出:

import java.io.BufferedReader

import java.io.FileInputStream

import java.io.IOException

import java.io.InputStreamReader

import java.util.ArrayList

import java.util.List

public class Test {

private static final String javaFilePath = "C:/Test2.java"

public static void main(String[] args) throws IOException {

List<String>comments = new ArrayList<String>()

BufferedReader bfr = new BufferedReader(new InputStreamReader(new FileInputStream(javaFilePath)))

String line=null

while((line=bfr.readLine())!=null){

line = line.trim()

if(line.startsWith("//")){

comments.add(line)

}

else if(line.startsWith("/*")&&line.endsWith("*/")){

comments.add(line)

}else if(line.startsWith("/*")&&!line.endsWith("*/")){

StringBuffer multilineComment = new StringBuffer(line)

while((line=bfr.readLine())!=null){

line = line.trim()

multilineComment.append("\n").append(line)

if(line.endsWith("*/")){

comments.add(multilineComment.toString())

break

}

}

}

}

bfr.close()

for(int i=0i<comments.size()i++){

System.out.println("第"+(i+1)+"处注释: ")

System.out.println(comments.get(i))

}

}

}

三,输出结果:

第1处注释:

/**

* @author xxx

*

*/

第2处注释:

/* main method */

第3处注释:

//a

第4处注释:

//b

第5处注释:

//a+b


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12062784.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存