- 符号付きで格納(-128~127)
そのまま代入する - 0~255として変換
0x000000FFとbitAND演算する
2009年1月29日木曜日
Stringとバイト配列
- バイト配列から文字セットを指定して文字列を作成
public String(byte[] bytes, String charsetName)
String s = new String(bs, "US_ASCII");
※マルチバイト文字列の場合作成されたStringは内部形式(Unicode?)
EUC-JP形式のbyte配列から作成した文字列
Windows-31J形式nobytes配列から作成した文字列
両者は同じStringとなる - 文字列から文字セットを指定してバイト配列作成
String s = "ABC";
bytes[] bs = s.getBytes("US-ASCII");
NumberFormatクラス
数値のフォーマット処理
DecimalFormatを利用するパターン
NumberFormat nf = new DecimalFormat("000");
String s = nf.format(99);
DecimalFormatを利用するパターン
NumberFormat nf = new DecimalFormat("000");
String s = nf.format(99);
2009年1月22日木曜日
数値の変換
- Doubleラッパークラス
doubleToLongBits(double)
//IEEE 754 浮動小数点のビットレイアウトに従ったlong値
valueOf(string)
//構文解析し、Doubleオブジェクトを返す
parseLong(string)
//構文解析し、double値を返す - Longラッパークラス
longValue()
//Longオブジェクト の値を long として返す
toBinaryString(Long)
//基数 2 の符号なし整数として返す
valueOf(string,int)
//2 番目の引数で指定された基数を使用した構文解析し、Longオブジェクトを返す
parseLong(string,int)
//2 番目の引数で指定された基数を使用した構文解析し、long値を返す
2009年1月21日水曜日
2009年1月19日月曜日
2009年1月16日金曜日
標準入力からの読み取り
1行読み取り
System.in
→java.io.InputStreamBuffer
→java.io.BufferedReader
BufferedReader.readLine();
※使用後はclose()
System.in
→java.io.InputStreamBuffer
→java.io.BufferedReader
BufferedReader.readLine();
※使用後はclose()
イベントディスパッチスレッド
コンポーネントの「状態に依存する」あるいは「状態に影響を与える」処理はすべてイベントディスパッチスレッド上で動作しなければならない
SwingUtilities.invokeLater(Runnable obj);
Runnableobjのrunメソッドをイベントディスパッチスレッドで非同期的に実行させる
他のスレッドでコンポーネントを変更する場合
スレッドからinvokeLaterを呼び出し、変更処理をイベントディスパッチスレッドで実行させる
※別スレッドからの直接変更もできるが、悪影響があるのかも?
※mainからのコンポーネント作成/表示も同様にイベントディスパッチスレッドで実行させる?(sampleはそうしている)
SwingUtilities.invokeLater(Runnable obj);
Runnableobjのrunメソッドをイベントディスパッチスレッドで非同期的に実行させる
他のスレッドでコンポーネントを変更する場合
スレッドからinvokeLaterを呼び出し、変更処理をイベントディスパッチスレッドで実行させる
※別スレッドからの直接変更もできるが、悪影響があるのかも?
※mainからのコンポーネント作成/表示も同様にイベントディスパッチスレッドで実行させる?(sampleはそうしている)
2009年1月15日木曜日
SWING基本
- トップレベルコンテナ
JFrame
setDefaultCloseOperation
setSize
setVisibleで表示 - 中間コンテナ
JPanel、Container
JFrameオブジェクト.getContentPaneで取得 - コントロール
JButton、JLabelなど
中間コンテナにaddする - イベント
ActionListenerをimplementしたクラスを準備
コントロールobjのaddActionListeneメソッドで上記objをListenerとしてセット
ListerクラスのactionPerformedメソッドでイベントハンドらを記述
2009年1月9日金曜日
インターフェイスの実装
- 新規クラス作成
- インターフェイス追加でインターフェイス選択画面
- 「インターフェイスを選択してください」
インターフェイス名をエディットBOXに直接入力すると
一致する項目一覧に該当するインターフェイスが表示される
一致する項目一覧から選択して追加(連続で追加可能) - OKでインターフェイス選択画面閉じる
- インターフェイス一覧に選択したインターフェイスが表示されている
コレクションフレームワーク
- Generic機能(J2SE5.0以降)
ArrayListのようにコレクションで扱う型を特定する
get時等のキャストが不要
旧:s = (String)list.get(i);
新:s = list.get(i);
- オートボクシング機能(J2SE5.0以降)
基本型とラッパークラス型間のデータ変換を自動実行してくれる
基本ラッパー型のコレクションでもデータ変換不要
旧:ary.add( new Integer(100) );
i = ary.get(i).intValue();
新:ary.add( 100 );
i = ary.get(i);
登録:
投稿 (Atom)