Java: Выполнение собственного типа данных? (например, долго длинный дважды?)

Я просто обдумываю о том, возможно ли создать собственный тип данных? Таким образом, если Вам нужно больше точности, это не поддерживается одним из основных типов, Вы могли просто "создать" свое собственное выполнение Вашего requierements.

Это возможно и как?

5
задан John Topley 10 March 2010 в 14:02
поделиться

4 ответа

Вы не можете создавать ваши собственные типы значений в Java, если вы об этом спрашиваете. Вы, конечно, можете создавать свои собственные ссылочные типы - в конце концов, это то, чем является каждый класс в Java.

Но, как говорили другие, BigDecimal BigInteger ) должны быть вашей отправной точкой для числовых типов с большей точностью.

8
ответ дан 18 December 2019 в 06:02
поделиться

Похоже, вы выбрали класс BigDecimal :

http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigDecimal.html

2
ответ дан 18 December 2019 в 06:02
поделиться

Взгляните на BigDecimal

Неизменяемые, произвольной точности знаковые десятичные числа

И чтобы ответить на ваш вопрос - да, вы можете создавать типы данных, но они не могут быть примитивными типами (как int, double и т.д.). Они должны быть классами, как в случае с BigDecimalBigInteger)

И еще один совет по использованию классов Big* - как написано, они неизменяемы. Это означает, что вызов add(...) не изменяет объект - он возвращает новый объект, который отражает изменение. То есть

BigDecimal dec = BigDecimal.ZERO;
dec.add(new BigDecimal(5)); // nothing happens
dec = dec.add(new BigDecimal(5)); // this works
16
ответ дан 18 December 2019 в 06:02
поделиться

Все всегда возможно.

Однако это не значит, что кто-то уже не сделал это раньше, и гораздо эффективнее, чем вы.

BigInteger и BigDecimal - это то, что вы ищете.

1
ответ дан 18 December 2019 в 06:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: