我正在尝试使用 Lombok 的 @SuperBuilder,但由于某种原因我在编译时遇到了问题Error:(14, 1) java: wrong number of type arguments; required 3
那是我的子类;
@SuperBuilder
public class FetchFollowersOperation extends Operation<List<InstagramUserSummary>> {
private String userName;
public List<InstagramUserSummary> operate() {
InstagramSearchUsernameResult userResult = null;
try {
userResult = instagram4j.sendRequest(new InstagramSearchUsernameRequest(this.userName));
InstagramGetUserFollowersResult followers = instagram4j.sendRequest(new InstagramGetUserFollowersRequest(userResult.getUser().getPk()));
return followers.getUsers();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
父类在下面;
@SuperBuilder
public abstract class Operation<T> {
protected Instagram4j instagram4j;
public abstract T operate();
}
Run Code Online (Sandbox Code Playgroud) 我有一个Event类,它使用构建器模式来设置字段,最后将字段添加到JSON对象中。
public class Event{
private EventProcessor eventProcessor = new EventProcessor();
private String userName;
private String userID;
public Event setUserName(String userName){
this.userName = userName;
return this;
}
public Event setUserID(String userID){
this.userID = userID;
return this;
}
public void toJson(){
JSONObject json = new JSONObject();
if(null != userName)
json.put("userName", userName);
if(null != userID)
json.put("userID", userID);
// need help to convert json to "event"
eventProcessor.addToQueue(event);
}
}
Run Code Online (Sandbox Code Playgroud)
事件处理器类
public class EventProcessor{
static{
EventQueue eventQueue = new EventQueue<Event>();
} …Run Code Online (Sandbox Code Playgroud)