2017-11-12 2 views
1

몇 가지 이유로이 오류가 표시됩니다. 오류 : 'void' type not allowed here.여기에 '무효'유형을 사용할 수없는 이유는 무엇입니까?

이것은 "public static void main(String[] args){}"방법에 있습니다.

if(Arrays.equals(Arrays.sort(arrayCorrectLength1), arrayCorrectLength1) == false){ 
     System.out.println("Error."); 
} 

나는 이미 java.util.Arrays를 가져 왔습니다. 프로그램은 문자열 배열을 가져 와서 병합하기로되어 있지만 우선 알파벳 순서인지 확인해야하므로 정렬 된 버전의 배열이 원래 배열에 있는지 확인해야합니다. 이것이 내가 얻는 것입니다.

답변

4

Arrays.sortvoid을 반환하므로 Arrays.equals에 대한 인수로 전달할 수 없습니다.

오히려 배열에서 스트림을 만들고, 정렬하고, 배열로 수집 한 다음이를 입력으로 Arrays.equals에 전달합니다.

if(!Arrays.equals(Arrays.stream(arrayCorrectLength1) 
      .sorted().toArray(String[]::new), arrayCorrectLength1)){ 
     System.out.println("Error."); 
} 
+1

고맙습니다! 이거 고쳐! –

관련 문제