Python이나 Ruby와 같은 언어. 변수는 모든 유형의 객체를 포함 할 수 있으며 심지어 프로그램 실행의 다른 지점에서도 다른 유형의 객체를 포함 할 수 있습니다. 그러나 Java는 변수 유형이 선언 될 때 결정되며 결코 변경되지 않는 언어 중 하나입니다. 프로그램에서
는 readings
의 유형 List<String>
입니다 :
이
List<String> readings = new ArrayList<String>();
List.toArray()
의 반환 값은 배열입니다. 배열은 List
이 아니며, 그렇지 않은 경우에는 그 방법이별로 중요하지 않습니다.313 줄에서 컴파일러는 List
변수에 배열을 할당 할 수 없다는 불평을합니다. 유형 변수에 관한 비트는 빨간 청어입니다. 유사
라인 (322)에 적용 readings
가 List
이기 때문에, 당신이 그것을에 배열 색인 연산자를 적용 할 수 없습니다. 그러나 List.get(int)
방법을 사용할 수 있습니다.
가능한 해결책은 두 가지가 있습니다. 어떤 이유로 코드를 게시 한 것이 분명하지 않은 경우 readings
과 동일한 요소가있는 String
의 배열이 필요하다면 하나를 만들 수 있습니다. 예를 들어 : 특별히 (내가 못하는 것보다 더 가능성 판단) 배열을 필요로하지 않는 경우
String[] readingsArray = readings.toArray(new String[0]);
그런 다음 나중에 다음 라인 (313)을 삭제할 수 있습니다, 반면에
packet[i] = Integer.parseInt(readingsArray[i]);
을 할 수 전체적으로 322 행에 있습니다.
packet[i] = Integer.parseInt(readings.get(i));
감사합니다. –