我有一个java代码可以以编程方式格式化另一个java代码。 该代码对于简单的 java 代码运行良好。但是当我在输入 java 代码中引入 commnent(输入作为字符串代码)时,然后在下一行中,textEdit 将返回为 null,这会在后续步骤中导致 nullpointerexception。
TextEdit textEdit = codeFormatter.format(CodeFormatter.K_UNKNOWN , code, 0, code.length(), 0, null);
import org.eclipse.jdt.core.ToolFactory;
import org.eclipse.jdt.core.formatter.CodeFormatter;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.IDocument;
import org.eclipse.text.edits.MalformedTreeException;
import org.eclipse.text.edits.TextEdit;
public class FormatCode {
public static void main(String[] args) {
String code = "public class TestFormatter{public static void main(String[] args){for(i=0;i<10;i++){i=i+2;\\abc"+"}System.out.println(\"Hello World\");}}";
CodeFormatter codeFormatter = ToolFactory.createCodeFormatter(null);
TextEdit textEdit = codeFormatter.format(CodeFormatter.K_UNKNOWN , code, 0, code.length(), 0, null);
IDocument doc = new Document(code);
try {
textEdit.apply(doc);
System.out.println(doc.get());
} catch (MalformedTreeException e) {
e.printStackTrace();
} catch (BadLocationException e) {
e.printStackTrace();
}
}
}
解决此问题的任何提示。
最佳答案
在新行中使用注释。
//
注释在一行中使用,因此您的代码就像这样。
换句话说,要解决此问题,请创建 /*
注释。
关于java codeformatter抛出NullPointerEception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26981713/