私は同じラベルを付けたいいくつかのメソッドを持っており、オーバーロードを使用して解決策を決定しました。問題は、私はコンテナであることを行うことはできません、次のとおりです。Javaコンテナのオーバーロード
public void render(Vector2Obj<Double> display) {
g.drawImage(sprite, display.getX().intValue(), display.getY().intValue(), null);
}
public void render(Vector2Obj<Integer> display) {
g.drawImage(sprite,display.getX(), display.getY(), null);
}
それは私を与える構文エラーは、「名前の衝突:両方の方法は、同じ消去を持っている」です。
私の二つの質問は以下のとおりです。
は、なぜ私はこれをやらせJavaのではないでしょうか?名前を経由してそれらを分離
public void renderD(Vector2Obj<Double> display) { //notice the name change g.drawImage(sprite, display.getX().intValue(), display.getY().intValue(), null); } public void renderI(Vector2Obj<Integer> display) { //notice the name change g.drawImage(sprite,display.getX(), display.getY(), null); }
または:
よりもより良い解決策はありますか?
"または名前で区切るか?" 2人は何をしていますか? –
'render(int x、int y)'と 'render(double x、double x)'オーバーロードを持つことができます。 –
ただレンダーするのではなく、renderDまたはrenderIをレンダリングするだけのものは何もありません。 –