투케이2K

250. (java/자바) [유틸 파일] 배열 형식 String 문자열 데이터를 ArrayList 로 반환 실시 본문

Java

250. (java/자바) [유틸 파일] 배열 형식 String 문자열 데이터를 ArrayList 로 반환 실시

투케이2K 2022. 3. 31. 11:35

[개발 환경 설정]

개발 툴 : Eclipse

개발 언어 : Java

 

[소스 코드]

    // TODO [배열 형식 String 문자열 데이터를 ArrayList 로 반환 실시]
    public static ArrayList arrayListStringToArrayList(String data){

        /**
         * // -----------------------------------------
         * [arrayListStringToArrayList 메소드 설명]
         * // -----------------------------------------
         * 1. 배열 형식 String 문자열 데이터를 ArrayList 로 반환 실시
         * // -----------------------------------------
         * 2. 호출 방식 : C_Util.arrayListStringToArrayList("[투케이, 29]");
         * // -----------------------------------------
         * 3. 리턴 데이터 : ArrayList 로 반환 실시
         * // -----------------------------------------
         * */

        // [리턴 데이터 변수 선언 실시]
        ArrayList result = new ArrayList<>();
        String arrayString = "";

        // [문자열 데이터 널 판단 수행 실시]
        if (data != null
                && data.length()>0
                && data.trim().equals("") == false
                && data.trim().equals("null") == false
                && data.trim().equals("undefined") == false){ // [널이 아닌 경우]

            try {
                // [인풋으로 들어온 데이터 삽입]
                arrayString = String.valueOf(data.trim());

                // [배열 형식 데이터를 파싱하기 위해 포맷 수행 실시]
                if (arrayString.startsWith("[") == true && arrayString.endsWith("]") == true){

                    // [문자열 데이터 포맷]
                    arrayString = arrayString.substring(1, arrayString.length()-1);
                    arrayString = arrayString.replaceAll(", ", ",");

                    // [split 사용해서 문자열 파싱]
                    String [] parsingArray = arrayString.split(",");
                    for (int i=0; i<parsingArray.length; i++){
                        parsingArray[i] = parsingArray[i].trim();
                    }

                    // [ArrayList 에 배열 삽입 실시]
                    result = new ArrayList(Arrays.asList(parsingArray));
                }
            }
            catch (Exception e){
                e.printStackTrace();
            }
        }

        // [로그 출력 실시]
        /*
        Log.i("---","---");
        Log.d("//===========//","================================================");
        Log.i("","\n"+"[C_Util >> arrayListStringToArrayList() :: 배열 형식 String 문자열 데이터를 ArrayList 로 반환 실시]");
        Log.i("","\n"+"[input :: "+String.valueOf(data)+"]");
        Log.i("","\n"+"[format :: "+String.valueOf(arrayString)+"]");
        Log.i("","\n"+"[result :: "+String.valueOf(result.toString())+"]");
        Log.d("//===========//","================================================");
        Log.i("---","---");
        // */

        // [리턴 데이터 반환 실시]
        return result;
    }
 

[결과 출력]

 

 

반응형
Comments