RMAG news

8章5と6

このJavaコードのコメントアウト版は以下の通りです。答えがA、つまりPredicate<Sample>である理由も説明します。 import java.util.Arrays; import java.util.List; import java.util.function.*; public class Main { public static void main(String[] args) { // Sampleオブジェクトのリストを作成 List<Sample> list = Arrays.asList( new Sample(10), new Sample(20), new Sample(30)); // xに対してtestメソッドを適用し、条件を満たすかチェック if (x.test(new Sample(20))) { System.out.println(“ok”); } } } // Sampleクラスの定義 class Sample { private int num; // Sampleの数値を保持するフィールド public Sample(int num) { this.num =…

Citeste mai mult
SA-Parole verwendet? Höcke vor Gericht

SA-Parole verwendet? Höcke vor Gericht

Weil er eine verbotene Parole der SA verwendet haben soll, steht Thüringens AfD-Chef Björn Höcke nun vor Gericht. Noch vor weniger Tagen hat er seine Wortwahl verteidigt. Ermittelt wurde gegen Thüringens AfD-Chef Björn Höcke schon mehrfach, nun beginnt ein Prozess gegen den 52-Jährigen: Er soll NS-Vokabular verwendet haben und muss sich deshalb von heute an…

Citeste mai mult
RMAG news

8章4

このJavaコードは、Runnableインターフェースの実装としてラムダ式を使用してスレッドを生成し、実行しています。私はこのコードにコメントを加えて、どのように動作するのかを説明し、それがなぜ答えD「コンパイルエラーが発生する」になるのかを解説します。 public class Sample { public static void main(String[] args) { int cnt = 0; // メインメソッドのスコープでカウンタ変数cntを宣言して0で初期化 // ラムダ式を使ってRunnableインターフェースの実装を作成 Runnable r = () -> { // ラムダ式の中でcnt変数を再宣言している。これはスコープが異なるためエラーにはならないが、 // このcntは外側のcnt変数とは異なる変数である。 for (cnt = 0; cnt < 10; cnt++) { // このcnt++はループの中でカウンタを増やすために使われているが、 // これが実際にはラムダ式の外側のcnt変数を変更しようとしていることになる。 // Javaのラムダ式では、ラムダ式の外側のローカル変数を変更することは許されていない。 // この行はコンパイルエラーを発生させる。 System.out.println(cnt++); } }; // 新しいスレッドを作成してラムダ式を実行 new Thread(r).start(); } }…

Citeste mai mult