Notice
Recent Posts
Recent Comments
Link
투케이2K
329. (kotlin/코틀린) [유틸 파일] : getSubStringArray : String Array 배열 부분 데이터 반환 수행 본문
Kotlin
329. (kotlin/코틀린) [유틸 파일] : getSubStringArray : String Array 배열 부분 데이터 반환 수행
투케이2K 2023. 7. 1. 12:11[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] getSubStringArray : String Array 배열 부분 데이터 반환 수행
// -----------------------------------------------------------------------------------------
fun getSubStringArray(array: Array<String>?, start: Int, end: Int): Array<String>? {
/**
* // -----------------------------------------
* [getSubStringArray 메소드 설명]
* // -----------------------------------------
* 1. String Array 배열 부분 데이터 반환 수행
* // -----------------------------------------
* 2. 호출 방식 :
*
* var array = Array<String>(6, {""})
* array[0] = "0" // [0]
* array[1] = "1" // [1]
* array[2] = "2" // [2]
* array[3] = "3" // [3]
* array[4] = "4" // [4]
* array[5] = "5" // [5]
*
* C_Util.getSubStringArray(array, 1, 3) // [1부터 3까지 반환]
*
* // -----------------------------------------
* 3. 리턴 데이터 :
*
* [1, 2, 3]
* // -----------------------------------------
*/
// [리턴 변수 선언]
var returnData: Array<String>? = null
var M_LOG = ""
// [로직 처리 실시]
try {
if (array != null && array.size > 0) {
if (start < 0 || end < 0) { // [음수 값 체크]
M_LOG = "[ERROR] : Range Check Error (start or end < 0)"
} else {
M_LOG = "SUCCESS : Array Sub Data"
if (end >= start) { // [end >= start 크기 비교]
val parsingList: ArrayList<String> = ArrayList<String>(Arrays.asList(*array))
val subList: ArrayList<String> = ArrayList<String>()
if (end >= parsingList.size - 1) { // [end >= list size 크기 비교 / 배열 사이즈 보다 거나 같은 경우]
for (i in parsingList.indices) {
try {
if (i >= start) {
subList.add(parsingList[i])
}
} catch (e: Exception) {
}
}
} else { // [배열 사이즈 보다 작은 경우]
for (i in parsingList.indices) {
try {
if (i >= start && i <= end) {
subList.add(parsingList[i])
}
} catch (e: java.lang.Exception) {
}
}
}
// [ArrayList To Array 변환 수행]
if (subList != null && subList.size > 0 && subList.isEmpty() == false) {
returnData = Array<String>(subList.size, {""})
for (i in subList.indices) {
try {
returnData[i] = subList[i].toString()
} catch (e: Exception) {
}
}
}
} else {
M_LOG = "[ERROR] : Range Check Error (end >= start / false)"
}
}
} else {
M_LOG = "[ERROR] : Input Array Is Null"
}
} catch (e: Exception) {
e.printStackTrace()
M_LOG = "[EXCEPTION] : " + e.message.toString()
}
// [로그 출력 실시]
try {
//*
// ===============================================================
S_Log._D_("String Array 배열 부분 데이터 반환 수행", arrayOf(
"INPUT [ARRAY] :: " + Arrays.toString(array).toString(),
"INPUT [RANGE] :: $start ~ $end",
"M_LOG :: $M_LOG",
"RETURN :: " + Arrays.toString(returnData).toString()
))
// ===============================================================
// */
} catch (e: Exception) {
}
// [리턴 반환 실시]
return returnData
}
[결과 출력]
D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.kotlinproject.C_Util$Companion.getSubStringArray(C_Util.kt:5477)]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: String Array 배열 부분 데이터 반환 수행]
I/: ----------------------------------------------------
I/: [LOG :: INPUT [ARRAY] :: [0, 1, 2, 3, 4, 5]]
I/: ----------------------------------------------------
I/: [LOG :: INPUT [RANGE] :: 1 ~ 3]
I/: ----------------------------------------------------
I/: [LOG :: M_LOG :: SUCCESS : Array Sub Data]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: [1, 2, 3]]
D///===========//: ================================================
반응형
'Kotlin' 카테고리의 다른 글
Comments