투케이2K

327. (kotlin/코틀린) [유틸 파일] : stringNotNullMulti : String 문자열 데이터 다중 널 판단 실시 : true / false 본문

Kotlin

327. (kotlin/코틀린) [유틸 파일] : stringNotNullMulti : String 문자열 데이터 다중 널 판단 실시 : true / false

투케이2K 2023. 7. 1. 11:55

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

 

        // -----------------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [RETURN] stringNotNullMulti : String 문자열 데이터 다중 널 판단 실시 : true / false
        // -----------------------------------------------------------------------------------------
        fun stringNotNullMulti(data: Array<String>?): Boolean {

            /**
             * // -----------------------------------------
             * [stringNotNullMulti 메소드 설명]
             * // -----------------------------------------
             * 1. String 문자열 데이터 다중 널 판단 실시
             * // -----------------------------------------
             * 2. 호출 방식 : C_Util.stringNotNullMulti(arrayOf("hello", ""))
             * // -----------------------------------------
             * 3. 리턴 데이터 : 문자열 데이터가 모두 널이 아닌 경우 true / 하나라도 널인 경우 false
             * // -----------------------------------------
             */


            // [리턴 변수 선언]
            var returnData = false
            var M_LOG = ""


            // [로직 처리 실시]
            try {
                if (data != null
                    && data.size > 0
                    && data.isEmpty() == false) { // [배열이 널이 아닌 경우]

                    var nullFlag = false // [널 데이터 체크 플래그]

                    for (i in data.indices) {

                        val value = data[i]

                        if (value != null
                            && value.length > 0
                            && value.trim().equals("") == false
                            && value.trim().equals("null") == false
                            && value.trim().equals("undefined") == false) { // [문자열 널 아님]
                        }
                        else { // [문자열 널 임 >> for 문 수행 종료]
                            nullFlag = true
                            M_LOG = "String Is Null : Index : $i"
                            break
                        }

                    }


                    if (nullFlag == false) { // [확인 된 널 데이터가 없는 경우]
                        M_LOG = "SUCCESS : Input Array Index String Not Null"

                        // [리턴 변수에 삽입]
                        returnData = true
                    }

                } else {
                    M_LOG = "Input Array Is Null"
                }

            } catch (e: Exception) {
                e.printStackTrace()
                M_LOG = "Exception : " + e.message.toString()
            }


            // [로그 출력 실시]
            try {
                //*
                // ===============================================================
                S_Log._D_("String 문자열 데이터 다중 널 판단 실시", arrayOf(
                    "INPUT :: " + Arrays.toString(data).toString(),
                    "M_LOG :: $M_LOG",
                    "RETURN :: $returnData"
                ))
                // ===============================================================
                // */
            } catch (e: Exception) {
            }


            // [리턴 반환 실시]
            return returnData
        }

[결과 출력]

 

D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.kotlinproject.C_Util$Companion.stringNotNullMulti(C_Util.kt:5248)]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: String 문자열 데이터 다중 널 판단 실시]
I/: ----------------------------------------------------
I/: [LOG :: INPUT :: [hello, dddd]]
I/: ----------------------------------------------------
I/: [LOG :: M_LOG :: SUCCESS : Input Array Index String Not Null]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: true]
D///===========//: ================================================

 

반응형
Comments