LINUX.ORG.RU

История изменений

Исправление Bioreactor, (текущая версия) :

создание расширяемых (настраиваемых) функций, умеющих хранить свое состояние.

Зачем изобретать кульхацкерский «велосипед», если есть Supplier?

package test;

import java.util.function.Supplier;

public class Test {
    
    static private Supplier<Integer> raccoon() {
        final int[] cnt = new int[1];
        return (() -> ++cnt[0]);
    }
    
    public static void main(String[] args) {
        Supplier<Integer> lotor = raccoon();
        System.out.println(lotor.get());
        System.out.println(lotor.get());
        System.out.println(lotor.get());
    }
}

Идею я подал - дальше самостоятельно.

На собеседовании, естественно.

Исправление Bioreactor, :

package test;

import java.util.function.Supplier;

public class Test {
    
    static private Supplier<Integer> raccoon() {
        final int[] cnt = new int[1];
        return (() -> ++cnt[0]);
    }
    
    public static void main(String[] args) {
        Supplier<Integer> lotor = raccoon();
        System.out.println(lotor.get());
        System.out.println(lotor.get());
        System.out.println(lotor.get());
    }
}

Идею я подал - дальше самостоятельно.

На собеседовании, естественно.

Исходная версия Bioreactor, :

package test;

import java.util.function.Supplier;

public class Test {
    
    static private Supplier<Integer> raccoon() {
        final int[] cnt = new int[1];
        return (() -> ++cnt[0]);
    }
    
    public static void main(String[] args) {
        Supplier<Integer> lotor = raccoon();
        System.out.println(lotor.get());
        System.out.println(lotor.get());
        System.out.println(lotor.get());
    }
}