Можливо, це дуже просто, але я насправді нуб у функціях Java 8 і не знаю, як це зробити. У мене є цей простий рядок, що містить наступний текст:
"Ключ, ім'я"
і я хочу перетворити цей рядок у масив String, розділяючи кожне значення комою (,), однак, я також хочу обрізати кожне поле перед поверненням остаточного масиву, тому я зробив наступне:
Arrays.stream(line.split(",")).map(String::trim).toArray();
Однак це повертає масив Object [], а не масив String []. Під час подальшої перевірки я можу підтвердити, що вміст насправді є екземплярами String, але сам масив - це елементи Object. Дозвольте мені проілюструвати це, ось що налагоджувач говорить про повернутий об'єкт:
Object[]:
0 = (String) "Key"
1 = (String) "Name"
Наскільки я можу зрозуміти, проблема полягає у типі повернення виклику карти, але як я можу змусити його повернути масив String []?
String[]::new
робить посилання на метод і як я можу зробити те саме, використовуючи звичайний лямбда-вираз? (Я бачу, що це дає "значення" типу int, але для мене це не має сенсу).