Java

Effective Javaを読んでいる⑪

cloneを賢くオーバーライドせよ Clonableインターフェース周辺について何となくわかってから読まないと意味がわからなさそうなので意味がわかってから続きをよむ Object#clone() Objectのcloneをオーバーライドする。 Clonableインターフェースを実装する。…

Effective Javaを読んでいる⑩

いつもtoStringをオーバーライドせよ デバッグが楽になるのかな toStringを実装する。 他の人がそのtoStringを使ってなんかする toStringの実装をかえる ほかの人のコードがおかしくなる こんなことが起きるので注意(ドキュメントに意図を書こう!)

Effective Javaを読んでいる⑨

equalsをオーバーライドするときはhashCodeもオーバーライドしなさい Object#hashCode()の規約 同じオブジェクト(equalsで比較する値が変わってない)場合は、常に同じhashCodeを返す。アプリケーションを2回実行した時に1回目と2回目のhashCodeは別でもよ…

Effective Javaを読んでいる⑧

Object.equalsの適切なオーバーライド オーバーライドしなくていいのは・・・ 各インスタンスが本質的にユニークである場合(コネクションとか?) 論理的に等しいかどうかがどうでもいい場合(よくわからん) スーパークラスがequalsを実装してて継承したク…

Effective Javaを読んでいる⑦

ファイナライザだめ System.runFinalizersOnExitと、Runtime.System.runFinalizersOnExitは悪魔の双子 ファイナライザが実行中にキャッチされない例外がスローされると例外が無視されてファイナライズが終了する public class Test { public static void mai…

Effective Javaを読んでいる⑥

GCあるからってメモリについて考える必要がないわけじゃないんだよみたいな話意図せず参照が残ってるオブジェクトがGCされないで残る→そいつらが参照してるオブジェクトが残る→やばいもう意図的には参照しないけどどっかの変数が参照してる場合は変数にnull…

Effective Javaを読んでいる⑤

Effective Javaを読んでいる① - チョキチョキかにさんカニバリズム Effective Javaを読んでいる② - チョキチョキかにさんカニバリズム Effective Javaを読んでいる③ - チョキチョキかにさんカニバリズム Effective Javaを読んでいる④ - チョキチョキかにさん…

Effective Javaを読んでいる④

Effective Javaを読んでいる① - チョキチョキかにさんカニバリズム Effective Javaを読んでいる② - チョキチョキかにさんカニバリズム Effective Javaを読んでいる③ - チョキチョキかにさんカニバリズム 英語のがクールだと思って英語版を買ったせいで買って…

Effective Javaを読んでいる③

Effective Javaを読んでいる① - チョキチョキかにさんカニバリズム Effective Javaを読んでいる② - チョキチョキかにさんカニバリズム 英語のがクールだと思って英語版を買ったせいで買ってから読む気がしなくてずっと放置していたが読み始めた。 わたしの英…

Effective Javaを読んでいる②

Effective Javaを読んでいる① - チョキチョキかにさんカニバリズム 英語のがクールだと思って英語版を買ったせいで買ってから読む気がしなくてずっと放置していたが読み始めた。 わたしの英語は限りなく怪しいので参考にしないでください。モチベーションを…

for文のおさらい

public static void main(String[] args){ int i = 0; for (i = 0; i < 2; ++i) { System.out.println(i); } i++; System.out.println(i);} こいつの出力は0,1,3だ・・・!

Effective Javaを読んでいる①

英語のがクールだと思って英語版を買ったせいで買ってから読む気がしなくてずっと放置していたが読み始めた。 わたしの英語は限りなく怪しいので参考にしないでください。モチベーションを上げるためのメモです。でも何か間違っているところを見つけたら教え…

String.splitの動作

他人が書いたコードを見て「バグだバグだ」と騒いでいたんですが結果的にバグではなくて不愉快な思いをさせてしまった。 原因はString.splitの動作についての勘違いで、 "unko@".split("@"); は、 {"unko",""} になると思っていたのだけれど、実際には {"unk…