Java には、1 つのScalarNumberクラスと 2 つのクラスがScalarIntあり、ScalarFloatそれは から派生しScalarNumberます。ただし、2 つの間でキャストしようとすると、というエラーが表示されますusemathobject.ScalarInt cannot be cast to usemathobject.ScalarFloat。
両方が同じクラスから派生している場合、あるクラスを別のクラスに変換する方法を定義することは可能ですか?
検索していると、クラスをプリミティブ型にキャストしたいという人もいれば、それはできないが、あるクラスを別のクラスに変換したいという人もいます。のような関数を定義することでC#でそれを行う方法を見つけましたpublic static explicit operator ScalarFloat(ScalarInt a)が、同等のJavaを見つけることができませんでした。Windows Vista で Netbeans IDE 6.9.1 を使用しています。