當前位置:首頁 » 編程語言 » java獲取注釋

java獲取注釋

發布時間: 2023-05-04 08:35:47

『壹』 java 中的幾種注釋方式

我看動力節點的java基礎大全301集教中的三種注釋方法:

1、單行注釋 //注釋的內容

2、多行注釋/*......*/

3、/**......*/,這種方式和第二種方式相似。這種格式是為了便於javadoc程序自動生成文檔。

下面介紹一下Javadoc的標記:

特別聲明:

(1)javadoc針對public類生成注釋文檔

(2)javadoc只能在public、protected修飾的方法或者屬性之上

(3)javadoc注釋的格式化:前導*號和HTML標簽

(4)javadoc注釋要僅靠在類、屬性、方法之前

下面主要舉例說明第三種注釋的應用:

(1)首先編寫.java文件

(2)在命令行中執行以下dos命令:

javadoc *.java //根據相應的Java源代碼及其說明語句生成HTML文檔

//javadoc標記:是@開頭的,對javadoc而言,特殊的標記。

(3)在當前目錄下就會產生doc文件夾,裡面有一系列的.html文件

附上代碼:

[java]view plain

  • <spanstyle="font-size:18px;">*/

  • /**javadoc注釋的內容

  • */

  • publicclassHello{

  • /**屬性上的注釋*/

  • publicStringname;

  • /**這是main方法,是程序的入口

  • *@paramargs用戶輸入參數

  • */

  • publicstaticvoidmain(String[]args){

  • System.out.println("HelloWorld!");

  • f1();

  • }

  • /**這是第1個方法,其作用是...*/

  • publicstaticvoidf1(){

  • System.out.println("f1()!");

  • }

  • }</span>

  • [java]view plain

  • <spanstyle="font-size:18px;">importjava.io.IOException;

  • /**javadoc注釋內容

  • *@since1.0

  • *@version1.1

  • *@authorBlueJey

  • *<br>鏈接到另一個文檔{@linkHello},就這些

  • *seeHello

  • */

  • publicclassHelloWorld{

  • /**非public,protected屬性上的注釋不生成*/

  • publicStringname;

  • /**這是main方法,是程序的入口

  • *@paramargs用戶輸入的參數,是數組

  • *@throwsIOExceptionmain方法io異常

  • */

  • publicstaticvoidmain(Stringargs[])throwsIOException{

  • System.out.println("helloWorld!");

  • f1();

  • f2(1);

  • }

  • /**這是第一個方法,其作用是....

  • *@deprecated從版本1.2開始,不再建議使用此方法

  • */

  • publicstaticvoidf1(){

  • System.out.println("fl()!");

  • }

  • /**這是第二個方法,其作用是....

  • *@return返回是否OK

  • *@parami輸入參數i

  • *@seeHello

  • *@throwsIOExceptionio異常

  • */

  • publicstaticStringf2(inti)throwsIOException{

  • System.out.println("f1()!");

  • return"OK";

  • }

  • }</span>

  • 注意:

    如果源文件中有用到@version,@author標記,則在執行javadoc命令時,要加-version-author

    javadoc-version-author-ddoc*.java

    (其中用-version用於提取源文件中的版本信息-author用於提取源文件中的作者信息)

『貳』 用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 {
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=0;i<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

『叄』 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;
/**

熱點內容
伺服器存儲1gb租賃費多少錢 發布:2024-11-01 12:38:09 瀏覽:871
蘋果6vpn添加配置怎麼弄 發布:2024-11-01 12:36:18 瀏覽:796
職場的幸福密碼是什麼 發布:2024-11-01 12:34:57 瀏覽:748
18經驗起床的伺服器ip 發布:2024-11-01 12:30:15 瀏覽:39
這個鎖屏密碼是什麼 發布:2024-11-01 12:24:51 瀏覽:92
相機存儲卡排名 發布:2024-11-01 12:24:49 瀏覽:958
androidxml格式化 發布:2024-11-01 12:23:14 瀏覽:165
Vb6編譯是錯誤不知道錯誤代碼 發布:2024-11-01 12:16:23 瀏覽:159
區域網電腦訪問伺服器怎麼提速 發布:2024-11-01 12:14:09 瀏覽:322
美創資料庫 發布:2024-11-01 12:05:45 瀏覽:916