IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

Javaのlambdaやstreamのベストプラクティスは?

ラムダ式のベストプラクティス

Best Practices using Java 8 Lambdas | Baeldung

StreamAPIコーディング規約

coding-standards/Javaコーディング規約.md at 8f152d2a7c6853f14345fbd9f10a9a0b14525e1f · future-architect/coding-standards · GitHub

StreamAPIパフォーマンス注意点

coding-standards/Javaコーディング規約.md at 8f152d2a7c6853f14345fbd9f10a9a0b14525e1f · future-architect/coding-standards · GitHub

The perilously long lambda

Java 8 idioms: Why the perfect lambda expression is just one line

  • その他
    • Streamの処理では、副作用のある処理は書かない
    • Streamの処理ラムダ式は1行(ブロックを必要としない)とする。-> 2行以上(ブロックを必要とする)の時は、関数インターフェースを使う。
    • (ラムダ式内の処理は短い前提のもと)ラムダ式の変数名はx, y, z等の短い文字を使う。
    • ラムダ式は共有しない。使い捨て前提
import java.util.Arrays;

public class Main {

    public static void main(String[] args) {
        String[] list01 = {"a", "b", "c"};

        String[] ret01 = Arrays.stream(list01)
                               .map(Main::addSquareBracket)
                               .toArray(String[]::new);

        Arrays.stream(ret01).forEach(System.out::println); // debug
    }

    private static String addSquareBracket(String s) {
        return "[" + s + "]";  // 複雑な処理のつもり
    }
    
}