2021-01-01から1年間の記事一覧

Ch5. Stream API

Streamオブジェクトの初期化と終端操作 まずは、Streamオブジェクトの生成方法と終端操作を見ていく。 import java.util.stream.Stream; public class StreamTest { public static void main(String[] args){ String[] stringArray = {"Hello", "World", "fr…

Ch4. ラムダ式とメソッド参照

ラムダ式と匿名クラス 第2章で学んだ匿名クラス(≒ローカルクラス)とラムダ式は基本的に同じ仕組みになっている。 ラムダ式で利用できる外部の変数のスコープは匿名クラスのスコープと変わらない。 package Chapter4; import java.util.function.UnaryOperato…

Ch3. コレクションとジェネリクス

コレクションAPIの概要 コレクションAPIとして提供されているList・Set・Queueインターフェースを実装したクラスは全てCollectionインターフェースを実装している。 主なメソッドは次の通り、 jdk/Collection.java at master · openjdk/jdk · GitHub java.ut…

Ch2. 高度なJavaクラス設計

【復習】共変戻り値 メソッドをオーバーライドした際に、親クラスのメソッドの戻り値と子クラスの戻り値の型は原則同じである必要がある。 ただし、子クラスのメソッドの戻り値の型は親クラスのメソッドの戻り値の型のサブクラスである場合はその限りではな…

Ch.1 Javaクラス設計

【復習】Switch文で使える型 intより小さい整数型とラッパークラス(int, short, byte, Integer, Short, Byte) 文字と文字列(char, String) 列挙型(enum) JavaBeans 下記の規則を満たすJavaのクラスをJavaBeansといる。 メンバ変数をprivateとして、getterとs…

Ch1. Javaプログラミングの基礎

リテラル 2進数、8進数、10進数の書き方は以下の通り。 public class Ch1 { public static void main(String args[]) { System.out.println(100); // '100' decimal System.out.println(0b100);// '4' binary System.out.println(0100); // '64' octal Syste…

Ch8.例外クラス

Javaでは例外処理を記述しないとコンパイルエラーになるメソッドが存在する。 そうしたメソッドが発生させる例外をchecked例外と呼ぶ。逆に、例外処理を記述しないくても良いメソッドが発生させる例外をunchecked例外と呼んでいる。 例えばアプリケーション…

Ch7. StringBuilder/Stringクラスのメソッド

String#substring substringメソッドに限らず、文字列の範囲を指定するメソッドでRubyとは異なる派に指定の仕方をする。 (0) A (1) B (2) C (3) D (4) E (5) F (6) このように文字列の前端を0と設定し、文字と文字の間に番号を振る。 substringメソッドに渡…

Ch7. ObjectクラスとDate and Time API

Objectクラス getClassメソッド getClass()メソッドに更に、getName()メソッドを繋げることで、インスタンスのクラス名のみを取得することが出来る。 また、ArrayList等ではない普通の配列もオブジェクトとして扱われているので、getClassでクラス名を取得で…

Ch7. ラムダ式

関数型インターフェース 関数型インターフェースはRubyでいうところのProcオブジェクトの型となるようなもので、 引数が必要か 戻り値が存在するか 戻り値が引数と同じ型か などによって別の型が存在する。また、この関数インターフェースで実装した処理に対…