FC2ブログ

equal()メソッドとhashCode()メソッド

03 25, 2009 | Posted in メソッド | Thema ビジネス » 資格・スキルアップ・仕事

4 Comments
equal()メソッドとhashCode()メソッドの関係はわかりにくいです。

x.equal(y) == true のとき、x.hashCode() == y.hashCode()は必ず成り立つ必要があります。

x.hashCode() == y.hashCode() のとき、x.equal(y) == trueは成り立たなくてもかまいません。

x.hashCode() != y.hashCode() のとき、x.equal(y) == falseは必ず成り立つ必要があります。

x.equal(y) == false のときは、特にhashCode()メソッドに要件はありません。
スポンサーサイト



||演算子と&&演算子のちょっとした罠

03 23, 2009 | Posted in 演算子 | Thema ビジネス » 資格・スキルアップ・仕事

0 Comments
以下のコードはコンパイルできません。

if(8 && 2){  }

||演算子と&&演算子はboolean型のオペランドにしか使えません。
決してビット演算を行っているわけではありません。

ガーベジコレクションのタイミング

03 22, 2009 | Posted in ガーベジコレクション | Thema ビジネス » 資格・スキルアップ・仕事

0 Comments
SJC-Pでは、ガーベジコレクションに関する問題が出ることがあります。
ですが、ガーベジコレクションに限ってはある程度、問題が決まっています。
なので、覚えておけばいいことは多くありません。

まず、ガーベジコレクションは任意のタイミングで行うことができません。
System.gc(); を利用すれば、ガーベジコレクションの要求はできます。
しかし、即座にガーベジコレクションが行われるというわけではありません。

また、ガーベジコレクションの際にはfinalize()メソッドが1度だけ実行されます。
しかし、ガーベジコレクションは必ず実行される保証はありません。

finallyブロックはreturn文の後にも実行される

03 22, 2009 | Posted in 例外処理 | Thema ビジネス » 資格・スキルアップ・仕事

0 Comments
以下のプログラムを実行すると、どうなるでしょう?

public class Sample{
  public static void main(String[] args){
    try{
      System.out.println("try");
      return;
    }catch(Exception e){
      // 処理なし
    }finally{
      System.out.println("finally");
    }
  }
}

このプログラムを実行すると、

try
finally


が表示されます。

tryブロックの中の return; が処理されるとプログラムが終了しそうですが、finallyブロックはreturnの後でも実行されます。
これは意外と落とし穴で、returnが実行されると終了するものだと思われがちです。

デフォルトコンストラクタの罠

03 22, 2009 | Posted in コンストラクタ | Thema ビジネス » 資格・スキルアップ・仕事

0 Comments
SJC-Pではコンストラクタ関連の問題は必ず出題されます。
デフォルトコンストラクタは、少し厄介な問題です。

デフォルトコンストラクタは、クラス内に自分でコンストラクタを記述しなかったときにのみ作成されます。
また、デフォルトコンストラクタは何の処理も記述されていません。

class Fruit{
  Fruit(){ }
}

上記のクラスは、デフォルトコンストラクタは作成しません。
ちゃんとコンストラクタが宣言されているからです。

class Fruit{
  Fruit(String name){ }
}

上記のクラスも、デフォルトコンストラクタは作成しません。
デフォルトコンストラクタとは、引数のないコンストラクタのことではありません。

class Fruit{
  void Fruit(){ }
}

上記のクラスは、デフォルトコンストラクタを作成します。
クラス内部で宣言しているのは、コンストラクタではなくメソッドです。
コンストラクタは戻り値を宣言できませんが、クラス名と同名のメソッドを定義することはできます。

Next Page »

RSS
プロフィール

javasjcp

Author:javasjcp
SJC-Pの取得を目指す3流プログラマーです。

最新記事
最新コメント
月別アーカイブ
カテゴリ
ランキング
みんなの自動リンク集
相互リンク 募集 「 相互リンクX 」
ブログランキング
アクセス解析