ひよっこPGのブログ

主に、技術メモや英語たまにギター関連のことも書いているブログです。

Java

JDBCのResultSetとCachedRowSetについて

ResultSetとは? SQL実行結果から、データを取得するためのインタフェース。下記のようなメソッドの返り値として使われる。 Statement.executeQuery(); PreparedStatement.executeQuery(); カーソル ResultSetでは現在の行位置のことをカーソルと言う。 一番…

Java ファイルパスからファイル名のみ取得 Windows / Unix対応

ファイルパスからファイル名を取得する場合、Javaの標準ライブラリを使うと 下記のような感じで取得可能。 String path = "C:\\test\\aaa.txt"; File file = new File(path); file.getName(); //=> "aaa.txt" ファイルのパスからファイル名を取得するには (b…

Java flatMap リスト内のリストを一つにまとめる

List<List<String>> list = new ArrayList<>(); list.add(Arrays.asList("A", "B", "C")); list.add(Arrays.asList("a", "b", "c")); list.add(Arrays.asList("あ", "い", "う")); // listの値: [["A", "B", "C"], ["a", "b", "c"], ["あ", "い", "う"]] list.stream() .f</list<string>…

Java 除算を行う場合、0除算する可能性がないか意識すること

int i = 3 / 0; //=> 実行時エラー java.lang.ArithmeticException double d = 3 / 0.0; //=> Infinity(無限大の値を表す) double d2 = 3 % 0.0; //=> NaN (正常な数値ではないという意味。Not a Numberの略) 参考 除算と剰余の注意点 - 演算子 - Java入門…

JavaでObjectクラスのequalsメソッドをオーバーライドするメリット

すべてのjavaクラスは、equalsメソッドを持っています。 そのequalsメソッドをオーバーライド(上書き)するメリットを自分なりに説明してみます。 説明に使うクラス /** * 人間、一人を表すクラス */ class Person { /** 名前 */ private String name; /** 年…

Javaで Stringの文字列結合について

Stringの文字列結合について、知らなかったことがあるので自分なりに説明してみます。まず下記のプログラムの実行結果は何になるでしょう? public static void main(String[] args) { String a1 = "aaa"; String a2 = "aaa"; // a1 == a2 は true // 同じ固…

Javaで 日付の差 差分日数を取得する際に間違えたこと

日付関連のユーティリティクラスとして DateUtilsクラスを作っている時に書いたメモです。まず初めにソースを貼ります。 import java.util.Calendar; import java.util.Date; public class Test { public static void main(String args[]){ Calendar cal1 = …

Javaで環境依存文字を実行環境に応じて変更する方法

自分が知っている限りだと、環境依存文字は3つあります。 ファイル区切り文字 パス区切り文字 改行コード これらの文字をマシン環境(OS)に応じて取得する方法を書きます。 ファイル区切り文字 Windows ¥ Linux / Mac OS の初期のバージョン : 取得方法 File…