遇到問題:
今天準備重寫一個類的方法時,原本計劃要註釋到原來的代碼:java
public class DefaultCommentGenerator public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) { field.addJavaDocLine("/** "+introspectedColumn.getRemarks()+"*/"); if(!this.suppressAllComments) { StringBuilder sb = new StringBuilder(); field.addJavaDocLine("/**"); field.addJavaDocLine(" * This field was generated by MyBatis Generator."); sb.append(" * This field corresponds to the database column "); sb.append(introspectedTable.getFullyQualifiedTable()); sb.append('.'); sb.append(introspectedColumn.getActualColumnName()); field.addJavaDocLine(sb.toString()); this.addJavadocTag(field, false); field.addJavaDocLine(" */"); } } }
結果因爲該方法中有有參數填寫的字符串中正好有註釋符號,結果我要整個代碼塊註釋的話,java就會自動解析到該字符串中的"/"的註釋結束符號,然後面再寫的本身的"/"註釋就無效了,結果就是該代碼會報錯:app
public class DefaultCommentGenerator public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) { /*原本我想從這開始註釋 field.addJavaDocLine("/** "+introspectedColumn.getRemarks()+"*/"); if(!this.suppressAllComments) { StringBuilder sb = new StringBuilder(); field.addJavaDocLine("/**"); field.addJavaDocLine(" * This field was generated by MyBatis Generator."); sb.append(" * This field corresponds to the database column "); sb.append(introspectedTable.getFullyQualifiedTable()); sb.append('.'); sb.append(introspectedColumn.getActualColumnName()); field.addJavaDocLine(sb.toString()); this.addJavadocTag(field, false); field.addJavaDocLine(" */"); //結果是Java會覺得個人註釋是以這個字符串中的*/結束的 } } 到這結束*/ }
結果就致使這個代碼中只剩下:ui
public class DefaultCommentGenerator public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) { "); //結果是Java會覺得個人註釋是以這個字符串中的*/結束的 } } 到這結束*/ }
毫無疑問這是會報錯的。this
public class DefaultCommentGenerator public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) { /*從這開始註釋 field.addJavaDocLine("/** "+introspectedColumn.getRemarks()+"*/"); if(!this.suppressAllComments) { StringBuilder sb = new StringBuilder(); field.addJavaDocLine("*//**"); //這裏加符號"*/" field.addJavaDocLine(" * This field was generated by MyBatis Generator."); sb.append(" * This field corresponds to the database column "); sb.append(introspectedTable.getFullyQualifiedTable()); sb.append('.'); sb.append(introspectedColumn.getActualColumnName()); field.addJavaDocLine(sb.toString()); this.addJavadocTag(field, false); field.addJavaDocLine(" *//*"); //這裏也須要加符號"/*" } } 到這結束*/ }