Каким образом более эффективен для сужения типа параметра?JAVA

Программисты JAVA общаются здесь
Anonymous
Каким образом более эффективен для сужения типа параметра?

Сообщение Anonymous »

Я пытаюсь создать класс под названием Complex для выполнения арифметики комплекса. Это абстрактно и имеет два подкласса картезианских и polar для различных представлений комплексных чисел, и каждый из них имеет еще два подкласса float и двойной для хранения с различной точностью. Декартово или полярное, плавающее или двойное).
Для этого мне нужно изменить тип параметра на картезианский ( этот < /em> тип cartesian.float). У меня уже есть функция, которая делает это: < /p>
public static Cartesian.Double toCartesian(Complex z) {
return (z instanceof Polar) ? (new Cartesian.Double(
Math.cos(z.getAngle()) * z.getModule(),
Math.sin(z.getAngle()) * z.getModule())) : ((Cartesian.Double) z);
}

У меня есть две версии, но я не знаю, что лучше/что я должен использовать:
public void set(Complex z) {
Cartesian.Double z2 = toCartesian(z);
re = (float) z2.re;
im = (float) z2.im;
}
< /code>
и < /p>
public void set(Complex z) {
z = toCartesian(z);
re = (float) ((Cartesian.Double) z).re;
im = (float) ((Cartesian.Double) z).im;
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... -parameter

Вернуться в «JAVA»