2016-12-23 5 views
0

문자열 배열을 Java에서 float 배열로 변환하려고하면 문자열 배열의 각 요소를 통과하는 것보다 더 우아한 방법이 있습니다. 루프를 사용하고 Float.parseFloat(strings[i]) 같은 것을 사용하여 플로트로 변환 하시겠습니까?문자열 배열을 자바에서 float 배열로 변환

+0

배열의 각 요소를 반복해야합니다. 그리고 이때 Float.parseFloat를 사용하여 elementof instanceof 키워드 – Chinmay

답변

2

이 정말 더 나은 경우 나도 몰라,하지만 자바 8 사용하는 어레이에게 다음과 같은 방법으로 변환 할 수 있습니다 : 당신이 double를 사용하려면

String[] strings = new String[] {"1", "2", "3", "4"}; 
Float[] floats = Arrays.stream(strings).map(Float::valueOf).toArray(Float[]::new); 

대신 당신이 사용할 수를 원시 형 (불행히도 스팀이 mapToFloat 같은 또는 FLoatStream 클래스를 제공하지 않습니다 details 여기를 참조)

double[] doubles = Arrays.stream(strings).mapToDouble(Double::parseDouble).toArray(); 

비고 : valuOf 포장 된 형식을 반환하는 반면,
parseDouble가 원시적 형을 반환

parseDoublevalueOf 대 사용의 차이를 느낄하시기 바랍니다.

+0

을 사용하여 요소가 Float 유형인지 확인합니다. 대신 float [] :: new'을 사용할 수 있었습니까? –

+0

나는 valueOf가 더 실현 가능할 것이라고 생각한다. – Jobin

+0

이것은 문자열 배열의 각 원소를 계속 통과 할 것이지만 실제로는 더 세련적이다. – xro7

관련 문제