Heim > Java > javaLernprogramm > Wie definiert Java die Ausgabe der Implementierungsparameter der Holder-Klasse?

Wie definiert Java die Ausgabe der Implementierungsparameter der Holder-Klasse?

WBOY
Freigeben: 2023-04-30 12:10:06
nach vorne
939 Leute haben es durchsucht

Definieren Sie die Holder-Klasse, um die Ausgabe von Parametern zu implementieren

In vielen Sprachen sind die Parameter einer Funktion in Eingabe (in), Ausgabe (out) sowie Eingabe und Ausgabe (inout) unterteilt. In der Sprache C/C++ können Objektreferenzen (&) verwendet werden, um die Ausgabe (out) und die Eingabe und Ausgabe (inout) von Funktionsparametern zu implementieren. Obwohl es in der Java-Sprache keine ähnliche Funktion für Objektreferenzen gibt, können die Ausgabe (out) und die Eingabe und Ausgabe (inout) von Funktionsparametern durch Ändern der Feldwerte der Parameter realisiert werden. Hier nennen wir die Datenstruktur, die diesem Ausgabeparameter entspricht, die Holder-Klasse (Unterstützung).

Implementierungscode der Holder-Klasse:

/** 长整型支撑类 */@Getter@Setter@ToStringpublic class LongHolder {    /** 长整型取值 */
    private long value;    /** 构造函数 */
    public LongHolder() {}    /** 构造函数 */
    public LongHolder(long value) {        this.value = value;
    }
}
Nach dem Login kopieren

Anwendungsfall der Holder-Klasse:

/** 静态常量 *//** 页面数量 */private static final int PAGE_COUNT = 100;/** 最大数量 */private static final int MAX_COUNT = 1000;/** 处理过期订单 */public void handleExpiredOrder() {
    LongHolder minIdHolder = new LongHolder(0L);    for (int pageIndex = 0; pageIndex < PAGE_COUNT; pageIndex++) {        if (!handleExpiredOrder(pageIndex, minIdHolder)) {            break;
        }
    }
}/** 处理过期订单 */private boolean handleExpiredOrder(int pageIndex, LongHolder minIdHolder) {    // 获取最小标识
    Long minId = minIdHolder.getValue();    // 查询过期订单(按id从小到大排序)
    List<OrderDO> orderList = orderDAO.queryExpired(minId, MAX_COUNT);    if (CollectionUtils.isEmpty(taskTagList)) {        return false;
    }    // 设置最小标识
    int orderSize = orderList.size();
    minId = orderList.get(orderSize - 1).getId();
    minIdHolder.setValue(minId);    // 依次处理订单
    for (OrderDO order : orderList) {
        ...
    }    // 判断还有订单
    return orderSize >= PAGE_SIZE;
}
Nach dem Login kopieren

Tatsächlich kann eine generische Unterstützungsklasse implementiert werden, die für mehr Datentypen geeignet ist.

Das obige ist der detaillierte Inhalt vonWie definiert Java die Ausgabe der Implementierungsparameter der Holder-Klasse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage