是否有更简洁的方法用不同的参数编写相同的方法?

dsa*_*fsa -1 java methods overloading

我需要有多种方法采用不同的参数.是否有更简洁的方法来编写这些方法而不是分别声明它们中的每一个?我总共需要4个相同的方法.我能写一个,但让它决定传递什么参数?或者我必须最终复制并粘贴第一个3次并更改参数.这是其中两个

public String findLogNumber(XWPFWordExtractor we) {
    int logIndex;
    int logIndexEnd;
    String logNumber = "";
    if (we.getText().contains("Log ")) {
        logIndex = we.getText().indexOf("Log ") + 4;
        logIndexEnd = logIndex + 5;
        logNumber = we.getText().substring(logIndex, logIndexEnd);
    }
    return logNumber;
}

public String findLogNumber(WordExtractor we) {
    int logIndex;
    int logIndexEnd;
    String logNumber = "";
    if (we.getText().contains("Log ")) {
        logIndex = we.getText().indexOf("Log ") + 4;
        logIndexEnd = logIndex + 5;
        logNumber = we.getText().substring(logIndex, logIndexEnd);
    }
    return logNumber;
}
Run Code Online (Sandbox Code Playgroud)

Kay*_*man 7

定义方法的两者XWPFWordExtractorWordExtractor扩展,因此您只需要一个方法作为参数.org.apache.poi.POITextExtractorgetText()POITextExtractor

// Handles at least the two methods shown.
public String findLogNumber(POITextExtractor we) {
    int logIndex;
    int logIndexEnd;
    String logNumber = "";
    if (we.getText().contains("Log ")) {
        logIndex = we.getText().indexOf("Log ") + 4;
        logIndexEnd = logIndex + 5;
        logNumber = we.getText().substring(logIndex, logIndexEnd);
    }
    return logNumber;
}
Run Code Online (Sandbox Code Playgroud)