忍者ブログ
淡々とお仕事のお勉強をするよ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Javaの道:クラス(3.オブジェクト)まで。いよいよクラスとオブジェクトの世界に入門。

  • private 修飾子が付いているメソッド・変数はサブクラスから参照できない。コンストラクタも暗黙に継承されない。
  • コンパイル時に本当は this. 付きになっている。
  • ガベージコレクションは自動。
  • オブジェクト変数に null を代入することにより、オブジェクトを参照しなくなったことを VM に明示することができる。
PR

Javaの道:数データ(4.算術演算)まで。

  • NumberFormat クラスで数字への単位やコンマの付与が便利に出来る。文字列から数字の抽出も可能 ? ロケール依存注意。明示的に設定しておいた方が無難 ?
  • String のさまざまなメソッド。String (Java Platform SE 6)

Javaの道:文字列(2.Stringの概要、コンストラクタ)まで読んだ。

  • StringBuffer は後で変更できる。String は便利。
  • String クラスは、便利コンストラクタを使う時以外は new せずに String example = "this is example."; と生成するとメモリ領域的に効率がよい。

Javaの道:配列(2.配列のコピー)まで読む。Java らしい話もそうでない話も。

  • ^ で XOR 演算。
  • 配列も new。
  • length 属性で長さを取得できる。
  • clone メソッドで配列をコピー。オブジェクト型なのでキャストする必要がある。
  • System.arraycopy でリンク元・コピー始点・リンク先・コピー始点・コピーする要素数を指定してコピーすることも出来る。
  • shallow コピーと deep コピー。clone も arraycopy も shallow なので注意。

ラッパークラスの鬱陶しさは解決できないけど。

アトミッククラスはどちらかというと不可分操作の実装という観点で重要なのであり、ラッパークラスがうざいという理由で使うのは良くない (し、さほど便利でもない) みたい。実際、マルチスレッドプログラミング関連っぽい話題がちらほら見えた。

  • 生成時に < 型 > でコンパイラが型をチェックしてくれるようになる。取り出し時のキャストも要らない。 (1.5 以降から)
  • java.util.Collection系とは前述の可変長配列に使う ArrayList や Vector のことか。 (参考: Collection (Java 2 プラットフォーム SE v1.4.0))

めんどくさいめんどくさいと思ったけど、よくよく冷静に考えたら、例に出てくる ArrayList の中身ぐらいにしか使わないので問題ない気もする。でも値を変更するにはいちいち new せねばならないみたい。やっぱり面倒。

楽しいJava入門 java.lang.Integer他

  • 単一継承しかできない。 (Javaの知られざる欠陥(下):ITpro)
  • Java SE 5.0 以降はオートボクシング / アンボクシングが可能になった。もっとややこしくなったような気もする。

Javaの道:演算子(2.比較演算子)

== や != ではオブジェクトのアドレスしか比較できない。C でいうポインタみたいなものか。オブジェクトじゃない型 (プリミティブ型) をオブジェクトとして扱う型も別にあるということでさらにごちゃごちゃしそう。

忍者ブログ [PR]


Designed by A.com
カレンダー
12 2025/01 02
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新TB
バーコード
ブログ内検索
アクセス解析
プロフィール
HN:
tnmt
性別:
非公開
(image created by E-Mail Icon Generator)