2017-12-03 15 views
0

음, 다음 작업을 수행 할 대체 방법을 찾고 있습니다.정수 배열 목록을 ASCII 테이블을 기반으로 문자열로 변환하고 문자열과 비교하십시오.

나는 ascii 테이블의 문자를 기반으로하는 정수와 문자열 및 목록을 가지고 있습니다. 내 질문은 : 다음 코드를 피하기 위해 문자열을 비교하는 빠른 대안을 만들 수 있습니까?

public class Main 
{ 
    public static void main(String[] args) 
    { 
     final String word = "Example!"; 
     final String secondWord = convert(Arrays.asList(69, 120, 97, 109, 112, 108, 101, 33)); 

     System.out.println(word.equals(secondWord)); 
    } 

    public static String convert(final List<Integer> list) { 
     final StringBuilder sb = new StringBuilder(); 
     for (int num : list) 
      sb.append((char) num); 

     return sb.toString(); 
    } 
} 
+3

당신이 보여준? 보다 효율적인 접근 방식이나 더 짧은 것을 찾고 있습니까? ...? –

+1

작업 코드 최적화/검토에 대한 질문은 스택 오버플로가 아니라 https://codereview.stackexchange.com에 속하기 때문에이 질문을 주제와 관련이 없도록 닫으려고합니다. 하지만 질문의 범위를 적절히하기 위해 [도움을 먼저 읽으십시오] (https://codereview.stackexchange.com/help/how-to-ask). –

+0

당신의 질문은 현재의 형태로는 답할 수 없습니다. 코드는 완전히 정적입니다. 동적 인 것은 없으므로, "더 효율적"은 단지 "true"또는 "false"를 인쇄하는 것입니다. 좀 더 일반적인 것이 무엇입니까? – luk2302

답변

2

List 또는 StringBuilder를 구성 할 필요가 없습니다.

당신은 String 직접 char[] A로부터를 구성 할 수 있습니다

코드에 대한 좋지 않아 어떤
System.out.println(word.equals(new String (new char[]{69,120,97,109,112,108,101,33}))); 
+0

이것은 정확히 제가 찾고있는 것입니다. 고맙습니다 :) – SapLalo