「java抽取注解」java获取注释

博主:adminadmin 2023-01-07 01:00:07 809

今天给各位分享java抽取注解的知识,其中也会对java获取注释进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用java正则表达式提取java程序中的注释

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

一,示例 某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 {

ListString comments = new ArrayListString();

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=0;icomments.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

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

@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 如何获取该类上字段的注解,看图片

我知道

1.先获取这个类的class

Class? objclass=t.getClass();

2. 获取这个类的字段属性

Field[] at = objclass.getDeclaredFields();

3.遍历所有字段

for (Field fd : at) {

//比如获取这个字段上是否包含NotNull

if (fd.isAnnotationPresent(NotNull.class)) {

//这样就获取到这个注解属性了

NotNull d = fd.getAnnotation(NotNull.class);

}

}

4.要获取一个注解,你要先获取他所在的字段

希望对你有帮助!

java 如何获取方法的注释

楼上2位,我就郁闷你们两了!

虽然我不知道调用什么方法来实现,但是最起码也知道问题的意思!

人家是要把注释的内容打印出来!

关于java抽取注解和java获取注释的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。