Я реализую интерфейс, который имеет функциональность, похожую на таблицу, которая может содержать типы объектов. Интерфейс определяет следующие функции:Как преобразовать Double [] в double []?
double[] getDoubles(int columnIndex);
Где я озадачен, что в моей реализации, я хранить данные таблицы в массиве 2D Object
(Object[][] data
). Когда мне нужно возвращать значения, я хочу сделать следующее (это не предполагается, что getDoubles()
будет вызываться только на колонке, содержащей двойники, так что будет не ClassCastExceptions
):
double[] getDoubles(int columnIndex) {
return (double[]) data[columnIndex];
}
Но - Java Безразлично 't позвольте Object[]
быть отлитым до double[]
. Листинг его Double[]
- это нормально, потому что Double
- это объект, а не примитив, но мой интерфейс указывает, что данные будут возвращены как double[]
.
Поэтому у меня есть два вопроса:
- Есть ли способ я могу получить данные столбца из
Object[][]
таблицы и возвращает массив примитивов? - Если я изменю интерфейс, чтобы вернуть
Double[]
, будет ли какое-либо влияние на производительность?
Зачем вам нужны данные как Object [] []? – notnoop
В таблице могут храниться данные любого типа: строки, двойники, целые числа, другие типы и т. Д. – Brian
Тогда как вы можете обеспечить, чтобы массив в столбцеIndex содержал только парные/двойные числа? – notnoop