アットウィキロゴ

Java

メモ

  1. Log4jの設定方法
    Log4jの設定ファイルを指定する場合
    (1)クラスパスの通ったところに置く
    (2)-Dlog4j.configuration=urlを使って、Javaオプションで指定
    (3)DOMConfiguratorクラスを使って、ロジック中で指定
    
  2. 静的インポート
    クラスのstaticなメンバー(staticなフィールド、メソッド等)のみをインポート出来る。
     →修飾部を省略して利用できる。(Java5から)
    
    例えば)
    import static java.lang.Math.PI;
    import static java.lang.Math.sin;
    
    class Test {
    	public static void main(String args[]) {
    		System.out.println(sin(PI/2));
    	}
    }
    
  3. リテラル
    1. 整数リテラル
      16進数・・・先頭に0x
      8進数・・・先頭に0
      
      long型にする場合は、後ろにLまたはlをつける。
      整数型に何もつけないと『int』と解釈される。
      
    2. 浮動小数点リテラル
      小数表現に、eまたはEを使う。
      例えば)
      1e2,1E+2・・・100
      1e-2・・・0.01
      
      float型を表現したいときは、後ろにfまたはFをつける。
      何もつけないと、『double』型とされる。
                       ^^^^^^^^
      
    3. 文字リテラル
      引用符「'」で囲む
      
    4. 文字列リテラル
      引用符「"」で囲む 
      
  4. 単項演算子と代入演算子は、右結合(右から演算が実行)
  5. 代入演算子が続いている場合は、オペランドを左から評価した後に、右から代入してゆく。
    &&、||、?:以外の演算子に対しては、演算子実行前に左から評価される。
    例えば)
    f1()+f2()
    f1,f2が実行されてから、+が実行される。
    例えば)
    int i=3;
    h[i] = i + 5;
    h[i]がh[3]に評価されてから、代入が行われる。
    そのため、結果はh[3]に5が代入される。
    
  6. 剰余演算子
    符号がある場合、符号をとって計算し、左オペランドの符号をつける。
    例えば) 
    -9%5も-9%-5も、結果は-4
    
  7. X=Y=Z=3;
    右から実行され、それぞれの戻り値は、右辺の値になる。 
    まず、Z=3が実行され、戻りは、3
    
  8. 「サブクラス instanceof スーパークラス」「インターフェースを実装するクラス instanceof そのインターフェース」 の場合にtrueになる。
  9. インスタンス初期化子
    staticのついていない{}で囲まれたブロック
    オブジェクトが生成されるときに(superの呼出し後に)実行される。
    
  10. 静的初期化子(staticイニシャライザ)
    クラスのロード時に一度だけ実行される static で宣言されたコードブロックのこと。
    
  11. 継承の話
    フィールドは、参照変数が参照するオブジェクトの型ではなく、参照変数の型によって指定される。
    呼び出されるインスタントメソッドは(非staticメソッド)は、参照変数の型ではなく、その変数が参照するオブジェクトの型によって決められる。
     クラスメソッド(staticメソッド)の場合は、、変数の型で決められる。
      
    「変数.フィールド」は、オブジェクトの型のフィールドではなく、変数の型のフィールドを意味する。(継承の話)
    インスタンスメソッドを「変数.メソッド」のように呼び出すと、変数が実際に参照するオブジェトの型のメソッドが呼び出される。(継承の話)
    ちなみにクラスメソッドの場合は、変数の型のメソッドが呼び出される。
    
  12. 可変長引数リストより、引数の数が一致するものの方が優先して、呼び出される。
  13. System.gc();やRuntime.getRuntime().gc();でガーベッジコレクションを促せる。
  14. デバック時に、Javaのシステム日付を変更する。
    #JAVAのオプション
    #必要に応じて上書きする
    #JVM_OPTS="-Dcmpf.properties=${BATCH_HOME}/bin/resources/lte.batch.properties -Dcmpf.properties.encoding=MS932"
    JVM_OPTS="-Dcmpf.constantdate=20121205000001 -Dcmpf.properties=${BATCH_HOME}/bin/resources/lte.batch.properties -Dcmpf.properties.encoding=MS932"
    #JVM_OPTS="-Dcmpf.constantdate=20121128000001 -Dcmpf.properties=${BATCH_HOME}/bin/resources/lte.batch.properties -Dcmpf.properties.encoding=MS932"
    

テクニック

  1. コレクションを配列に変換
    String[] a = (String[])l.toArray(new String[0]); //コレクションからStringの配列に変換
    [http://www.atmarkit.co.jp/fjava/javatips/080java009.html]
    
  2. 奇数行・偶数行に別々のクラスを追加する方法
      <logic:iterate id="hoge" name="hogeListForm" property="records" indexId="idx">
        <tr  <%= idx % 2 == 0 ? "class=\"dataEven\"" : "class=\" dataOdd\""%> >
    
最終更新:2013年01月18日 09:11
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。