Я искал прозрачный способ бросить объект к примитивному типу, что-то вроде:Автоматического приведения от объекта к примитивному типу
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;
После нескольких поисков я почти уверен, что он не существует , но если бы была большая помощь.
Update 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)
Используйте свой собственный 'toDouble'! Без этого вы получите ошибку компиляции. – Maroun
Класс [Double] (http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html) не помог вам? – vels4j
Если 'Example' is и Object, который представляет какое-то числовое состояние, вы можете сделать это как' Example mean = Example.mean (Example ... numbers) '. Внутри реализации «mean» вам придется использовать «double», но вам не нужно подвергать его тому месту, которое работает с 'Example'. – zapl