-3
私はかなり新しいjavaですが、最近ArrayListをオブジェクトにキャストする方法を学びました。ArrayListの引数がプログラマが指定した戻り値にキャストしない
ArrayListの引数(int型、 フロート)には適用されませんメソッドセット(int型、GenericMissile)タイプ:私の現在の私は、ArrayListに変数を追加している問題があります
私はこれを、多くの方法で、setLocationX()メソッドの戻り値をGenericMissile setLocationX()に変更してから、グローバル変数をGenericMissileにキャストして、結果を修正しないようにしました。
私の主な質問は、ArrayList引数で2番目のクラスファイルのArrayListを作成するにはどうすればいいですか?
さらにこの質問をするには、クラスファイルをいずれかの戻り値にキャストする方法がありますか?
public class GenericMissile { float currentX; float setLocationX() { currentX = (float) Math.ceil(Math.random() * 801); return currentX; } }
や他のクラスファイルで
、私が持っている:import java.util.ArrayList; public class GameManager { ArrayList<GenericMissile> allM; public static void main(String[] args) { GameManager obj = new GameManager(); obj.getInfo(); } void getInfo() { allM = new ArrayList<>(); GenericMissile build = new GenericMissile(); allm.set(0,build.setLocationX()); } }
あなたは正確にここで行うには何をしようとしている。
また少し
setLocationX
を変更することでbuild.setLocationX()
上GenericMissile
リターン自体を作ることができますか?あなたはList of GenericMissilesを持っていますが、それにフロートを追加しようとします。それはうまくいかないし、私はあなたの本来の意図ではないと思う。 –あなたのArrayListは 'GenericMissile'型のオブジェクトを期待していますが、代わりに場所を挿入しようとします。なぜこれが動作すると思いますか? – Tom
あなたの 'ArrayList'は' GenericMissile'型にバインドされているので、それだけを受け入れることができます。ここに 'float'を挿入しようとしています:' allm.set(0、build.setLocationX()); ' – Strikegently