Преобразовать из Arraylist <Double>в двойной массив примитивного типа - PullRequest
0 голосов
/ 19 апреля 2020

Эй, я пытаюсь получить свой ArrayList из класса DBhelper и преобразовать его в double из Doublearraylist, так как я хочу иметь возможность вычислить значение из другой переменной.

Мой dbhelperclass содержит этот код для получения arraylist

public ArrayList<Double> getLastEntry(){
    ArrayList<Double> data = new ArrayList<Double>();
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.query(TABLE_NAME, new String[]{COL2},null, null, null, null, null);
    Double add = null;
    while(cursor.moveToNext()){
        if(cursor.moveToLast()){
            add=cursor.getDouble(0);
            data.add(add);
        }
    }
    cursor.close();
    return data;
}

И до сих пор я пробовал две вещи для преобразования данных, но в моем сообщении об ошибке я обнаружил, java .lang.double нужна строка, чтобы проверить, можно ли войти в систему logcat, но я просто запишите все эти символы вместо строки, так что, я думаю, я неправильно их преобразовал.

Код для конвертера

Первый метод, который я попробовал

ArrayList<Double> data = mDatabaseHelper.getLastEntry();
double []arrX =  new double [data.size()];
for(int j=0; j<data.size();j++){
    double convert = data.get(j);
    arrX[j]=convert;
}
Log.d(TAG, arrX.toString());

Второй метод, который я попробовал, был из книги с более новым java, я думаю. но он говорит, что не может вывести аргументы между новым Arraylist

code:

data = new ArrayList<>(Arrays.asList(data));
double[] arr = data.stream().mapToDouble(Double::doubleValue).toArray();

1 Ответ

0 голосов
/ 19 апреля 2020

Относительно второго способа - я думаю, что есть ошибка:

data = new ArrayList<>(Arrays.asList(data)); -> здесь вы превращаете ArrayList<Double> в ArrayList<ArrayList<Double>>.

Возможно, вы захотите написать:

ArrayList<Double> data = mDatabaseHelper.getLastEntry();
double[] arr = data.stream().mapToDouble(Double::doubleValue).toArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...