オブジェクトを次のようなプリミティブ型にキャストする透過的な方法を探していました。
class Example {
double number;
public Example(double number) {
this.number = number;
}
// this or something similar to this
public toDouble() {
return number;
}
...
}
Example ex = new Example(18.0);
double number = ex;
いくつかの検索の後、私はそれが存在しないことをほぼ確信していますが、大きな助けがあれば.
更新 1
質問がわかりにくかったらすみません。
私は内部ツール用のコードエディターを開発しています。アイデアは、Java命令のセットを減らしたプログラムを作成し、Javaに変換してコンパイルすることです。
エディターが同じキャストを何度も行ったり、同じ呼び出しを呼び出したりする必要がないようにしたいのですが、式の翻訳が非常に複雑になることがあります。
より良い例は次のとおりです。
簡略化されたコード
Example ex = new Example(18.0);
Example ex2 = new Example(23.0);
Example mean = Mean(ex + 1.0, ex2, 3.0);
(私は避けたいExample mean = Mean(ex.toDouble() + 1.0, ex2.toDouble(), 3.0);
)
そしてJavaの関数
double Mean(double... numbers)