Long
의 배열로?
그렇지 않을 수도 있습니다. 배열의 길이는 Type
입니다. string
입니다. string
값만 허용됩니다. long
유형의 배열을 원하면 정확히 일치해야합니다. 그 타입의 다른 배열. 동일한 값이 내부에 저장됩니다.
다른 답변은 현재의 표현에서 기술적으로 올바르지 않습니다. 하나 long
값을 string[]
배열에 넣을 수 있습니다. 은 long
유형/형식에 없습니다.
리버스에서도 마찬가지입니다 (사용자가 원하는 것처럼 보임). 이전에 string
유형/형식이었던 long[]
데이터를 보유 할 수 있습니다. 적절한 전환 만하면됩니다. 다른 답변이 약간 오해
또 다른 것은, 기술적으로 더 이 숫자 형식과 문자열 사이, 단어의 진정한 의미에서,을 캐스팅하지 않습니다 있다는 것입니다. 대신 수행되는 것은 구문 분석입니다.
문제의 경우 특별히 long
값의 구문 분석은 string
표현은 long.valueOf(string s)
을 사용하여 수행됩니다.
이 방법은 숫자 표현이 string
이므로, 다른 것을 사용하여 NumberFormatException
으로 실패합니다.
여기에는 "122 Street"
이 포함됩니다. 그것은 숫자가 아닙니다. "122"
입니다. 따라서 나머지 문자열 중에서 먼저 "122"
을 구문 분석 한 다음이를 long
으로 변환해야합니다.
솔루션 :
String[] myArray = ["123", "122 Street", "2334"];
myArray[1] = myArray[1].substring(0,2); //Removes " Street" from second element.
long[] myLongs = new long[myArray.length];
for(int i=0; i<myArray.length; i++) {
try {
myLongs[i] = Long.valueOf(myArray[i]);
} catch(NumberFormatException nfe) {
System.out.println("Element at index "+i+" could not be parsed.");
} catch(Exception ex) {
System.out.println("Some other exception happened.");
}
}
당신은 무엇을 기대 : 여기
은 1 - 라이너입니까? – alfasin"Street"이 있기 때문에 변환하지 않을 것입니다. 이 경우, 나는 그것을 붙잡고 계속하지 않겠는가? – craz1001
long을 String [] 유형의 배열에 저장할 수 없습니다. 이러한 배열에는 String 만 포함될 수 있습니다. –