相关疑难解决方法(0)

IntelliJ中的Builder模式代码生成

有没有办法在IntelliJ中自动编写Builder模式?

例如,给定这个简单的类:

class Film {
   private String title;
   private int length;

   public void setTitle(String title) {
       this.title = title;
   }

   public String getTitle() {
       return this.title;
   }

   public void setLength(int length) {
       this.length = length;
   }

   public int getLength() {
       return this.length;
   }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法,我可以让IDE生成这个或类似的:

public class FilmBuilder {

    Film film;

    public FilmBuilder() {
        film = new Film();
    }

    public FilmBuilder withTitle(String title) {
        film.setTitle(title);
        return this;
    }

    public FilmBuilder withLength(int length) {
        film.setLength(length);
        return this;
    }

    public Film build() …
Run Code Online (Sandbox Code Playgroud)

code-generation design-patterns intellij-idea builder-pattern

76
推荐指数
6
解决办法
3万
查看次数

无法解析方法'access $ 000()'

我没有访问java源代码,我已经从jar文件创建了java代码.我需要修改一个java文件来添加一些额外的功能,它抱怨一个内部类方法

return Survey.access$000();
Run Code Online (Sandbox Code Playgroud)

它是说无法解决方法'access$000()' 我该怎么做才能摆脱这个错误到目前为止我没有修改任何东西后我反向设计jar文件.有问题的课程是Survey,它有以下内部课程

private static class SurveyPermissionCatalogFinder
/*     */     implements PermissionCatalogFinder
/*     */   {
/*     */     private static final long serialVersionUID = 1L;
/*     */     private static SurveyPermissionCatalogFinder one;
/*     */ 
/*     */     public PermissionCatalog getCatalog()
/*     */     {
/* 225 */       return Survey.access$000();
/*     */     }
/*     */     public static SurveyPermissionCatalogFinder getInstance() {
/* 228 */       if (one == null) {
/* 229 */         one = new SurveyPermissionCatalogFinder();
/*     */       }
/* 231 */       return one; …
Run Code Online (Sandbox Code Playgroud)

java decompiling

5
推荐指数
1
解决办法
7940
查看次数