2022-05-01から1ヶ月間の記事一覧
JUnit リストの比較 Eclipse で、JUnit を書いていると、コード補完でうまく出てこなくて いつもイライラするので、メモ import org.hamcrest.CoreMatchers; import org.hamcrest.MatcherAssert; MatcherAssert.assertThat(list1, CoreMatchers.is(list2)); …
Yes. 書けます。mybatis の foreach で、1つの foreach で良く使うのは、バルクインサートを書く時、、 INSERT INTO items ( id, name. length ) VALUES <foreach collection="list" item="e" separator=","> ( #{e.id}, #{e.name}, #{e.length} ) </foreach> バルクインサートでなお且つ、インサート文で指定するカラム…
Stream<T> の toArray(T::new);toArray の引数が IntFunction<A> なのであるからといって、 .toArray(v->new T[v]); と書く人は少ない。IntStream の toArray() が、int[] を生成するのだが、 int[] intary = IntStream.rangeClosed(1, 5).toArray(); Integer の配</a></t>…
JUnit の時ぐらいしか使わない static import org.junit.Assert を使ってるのか、org.hamcrest.MatcherAssert を使ってるのか、 長いテストコードを素早く確認するのに、いちいち上までスクロールして確認なんて やってられない、 import static org.junit.A…
Java11 でテキストファイルを String に読込むのは、とても記述が楽だ。java.nio.file.Path に、java.nio.file.Files で対応できるのである。サンプル UTF-8 のファイル import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java…
先日の オブジェクト間フィールドのコピー - Oboe吹きプログラマの黙示録 を修正することにした。 それは、継承クラスにおいて継承元のフィールドをコピーすることを考慮すべきだからだ。 @Data @EqualsAndHashCode(callSuper=true) を書いているときのエン…
任意のオブジェクト間で、特定のフィールドだけをコピーするのに汎用的な方法を考えます。 これを考えるきっかけは、JUnit の assertEquals などを実行する前に、比較したくない属性フィールドは、 コピーして同じ値にしてしまおうという目的で、それを状況…
Files.createDirectory(Path path) は、path 生成元に存在しないディレクトリがあれば、 java.nio.file.FileAlreadyExistsException を発生するが、createDirectories なら、ディレクトリ作成できる権限、環境なら途中も生成 で作ってくれる。 try{ Path pat…
PostgreSQL の CURVAL() や、LASTVAL() で、シーケンスから求められるものではなく、 UUID のような型で Primary Key を構成するテーブル挿入直後のキーを取得したい。RETURNING を使う。insert文の次の書式 INSERT INTO テーブル VALUES (...) RETURNING PK…