たま

技術的なメモ置き場。主にJava。

Java

【Java】 Stringのおさらい

Stringのおさらい。知らなかった仕様もあったので油断ならない。 ※ 一部省略している部分もある コンストラクタ 引数なし new String(); // "" バイト配列 byte[] bytes = "abcde".getBytes(); new String(bytes); // abcde new String(bytes, 1, 2); // bc …

【Java】try-catch-finally文

try-catch-finally文の順序は変えられない。 // OK try {} catch(Exception e) {} finally{} // NG try {} finally{} catch(Exception e) {} // NG try {} finally {} finally {} catchブロックとfinallyブロックにreturnがあった場合どうなるか? try { // …

【Java】for文

for文は、初期化文・条件文・更新文・繰り返し処理で構成される。 for (初期化文; 条件文; 更新文) { 繰り返し処理; } 初期化文と更新文は複数記述できる。 初期化文で宣言できるのは同じ型の変数。 for (int i = 0, j = 0; true; i++, j++) {} // 更新文で…

【Java】識別子

Javaの識別子(変数、メソッド名、クラス名など)には、以下の規則がある。 予約語は使用不可 数字から始められない 下記の記号以外の記号は使用不可 アンダースコア 通貨記号 通貨記号を使ってみると以下のようになる int ¤ = 1; // 国際通貨記号 int ฿ = 2…

【Java】クラス宣言

Javaのクラス宣言は、 フィールド と メソッド の2つから構成される。 パッケージ宣言、インポート宣言は含まれない。 これらはソースファイルに対する宣言であり、クラスに対するものではない。 // パッケージ -> クラス宣言ではない package chapter01; //…

Comparatorでソート

Comparatorを使用して、JavaBeanのリストをソートする。 使用するJavaBean public class Student { private int id; private String name; private int age; // getter/setter } 今回、Studentに設定するデータはJSONで定義する。 JSON -> Java Objectの変換…

Stream#collectを使用してJavaBeanリストから特定のフィールドのみを取得してリスト化する

public class Hoge { private String foo; private String bar; // constructor/getter/setter } Stream#collectを使用してHoge#barのリストを作成する。 // Hogeリストを作成 List<Hoge> hoges = Arrays.asList(new Hoge("f001", "b001") , new Hoge("f002", "b00</hoge>…

Spring Test DBUnitでJSONカラムにデータを投入する

Spring Test DBUnitで @DatabaseSetup を使用してテストデータを投入する際に、対象のテーブルにJSONカラムが存在すると失敗するが、PostgresqlDataTypeFactoryを拡張することで投入できるようになる。 環境 Spring Boot 1.4.1 Spring Boot Test Starter Spr…

Spring BootでセッションIDを取得する

意外とセッションIDの取得方法が見当たらなかったのでメモ。 Controllerメソッドの引数に、HttpSessionかHttpServletRequestを使用することでセッションIDを取得することができる。 public class HogeController { // HttpSessionを使用する場合 @GetMapping…

JavaMailでhotmailの送信を行う

JavaMailでhotmailの送信を行うProperties props = new Properties();props.setProperty("mail.transport.protocol", "smtp");props.setProperty("mail.host", "smtp.live.com");props.put("mail.smtp.starttls.enable", "true");props.put("mail.smtp.auth"…

DBUtilsを使う

Apache Commons DBUtilsの使い方メモDBUtils1.5http://commons.apache.org/dbutils/index.html・抽出QueryRunner qr = new QueryRunner();ResultSetHandler> rsh = new BeanListHandler(T.class);List list = qr.query(Connection, "SELECT * FROM HOGE;", r…

Java開発環境メモ

macのJava開発環境構築メモeclipse 4.2eclipse日本語化tomcat 7eclipseのインストール・eclipseをダウンロードhttp://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/junosr1ダウンロードしたファイルを解凍し、適当な場所におく。今回…