1. ホーム
  2. java

[解決済み】javaでオブジェクトを削除する?

2022-02-05 15:33:14

質問

自分で作ったオブジェクト(自分についてくる楕円)を削除したいのですが、どうすればいいのでしょうか?

delete follower1;

はうまくいきませんでした。

EDIT

さて、もう少し背景を説明します。私は、あなたがコントロールできる楕円と、あなたの後をついてくる楕円の小さなゲームを作っています。今、私はファイル名を持っています。このクラスは画面上にすべてを描き、衝突や音などを処理します。enemy.classはプレイヤーの後をついてくる楕円形の敵だ。エンティティ(entity.class)を手に入れた。これはプレイヤーが操作できるようにしたものだ。そして、もしプレイヤーがフォロワーと交差したら、プレイヤー・オブジェクトを削除してほしい。私がやっている方法です。

    public void checkCollisions(){
    if(player.getBounds().intersects(follower1.getBounds())){
        Follower1Alive = false;
        player.health = player.health - 10;
    }
}

解決方法は?

nullを代入するか、それが宣言されたブロックを離れることで、その参照を削除する必要があります。その後、ガベージコレクタによって自動的に削除されます(すぐには削除されませんが、最終的には削除されます)。

例1:

Object a = new Object();
a = null; // after this, if there is no reference to the object,
          // it will be deleted by the garbage collector

例2:

if (something) {
    Object o = new Object(); 
} // as you leave the block, the reference is deleted.
  // Later on, the garbage collector will delete the object itself.

現在探しているものではありませんが、参考までに、ガベージコレクタを呼び出すには、以下の呼び出しを行います。 システム.gc()