2016-09-22 55 views
1

私はラムダ式を使用している単純なJavaアプリケーションをデバッグしようとしています。私は通常のEclipseデバッガを使ってLambda Expressionをデバッグすることができません。Eclipseを使用してJava 8でラムダ式をデバッグする方法は?

+8

改行とステップバイステップのデバッグが行番号に基づいていますreturn s.contains("Hello");ライン上のブレークポイントを設定することができます。そのため、ラムダ式に改行を挿入して、ラムダ式を周囲のコンテキストと区別できるようにする必要があります。それだけでなく、Eclipseバージョンでラムダ式について知らない場合でも問題なく動作します(行番号をソースコードのテキストと一致させることがすべてです)。 – Holger

+3

IMHO、デバッグが必要な場合は、ラムダではなくプライベートメソッドであるべきです。 –

+0

ストリーム内で 'peek(System.out :: println)'も考慮してください。 –

答えて

0

式をステートメントに変換できます。

List<String> list = new ArrayList<>(); 

// expression 
boolean allMatch1 = list.stream().allMatch(s -> s.contains("Hello")); 
// statement 
boolean allMatch2 = list.stream().allMatch(s -> { 
    return s.contains("Hello"); 
}); 

あなたは今

+5

を参照してください。式をステートメントに変換する必要はありません。 ' - >'の後に改行を挿入するだけで十分です。 – Holger

関連する問題