@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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)