728x90
반응형

코틀린 맛보기로 인프런 무료 강의를 듣고 내용을 적어본다.

강의 : 맛보자! 코틀린과 스프링으로 API 호출하기

 


[ 변수 알아보기 ]

형태

var 변수명:  타입

 

1. var / val

- var 읽기, 쓰기 가능

- val 읽기만 가능 

 

2. Int / Int? (null 허용)

- kotlin의 int는 null 허용 X

- null 허용하려면 타입에 ? 붙여서 선언

ex) 
var j : Int? = 10
j = null

println(j)

>> 실행 결과는 null이 나온다.

3. String / String? (null 허용)

- Int와 동일하게 null 허용하려면 ? 붙이기

 

4. 타입 추론

- 변수에 들어오는 값을 보고 타입을 알아서 지정


 

깃허브

https://github.com/jangmimi/kotlin_study

 

GitHub - jangmimi/kotlin_study

Contribute to jangmimi/kotlin_study development by creating an account on GitHub.

github.com

 

728x90
반응형
728x90
반응형

StringBuilder & StringJoiner

둘 다 문자열을 효율적으로 처리하고 연결하는 데 사용되는 클래스이다.

각각의 목적과 사용법에 약간의 차이가 존재한다.

 


StringBuilder

StringBuilder는 단일 스레드 환경에서 문자열을 빠르게 수정하고 연결하기 위해 사용된다.
StringBuilder 객체는 가변이며, 내부적으로 버퍼를 사용하여 문자열을 구성한다.

이로 인해 문자열을 변경할 때마다 새로운 문자열 객체를 생성하지 않고도 문자열을 효율적으로 처리할 수 있다.
StringBuilder의 주요 메서드로는 append, insert, delete, replace 등이 있다.

class Solution {
    public String solution(String[] arr) {
        StringBuilder answer = new StringBuilder();
        for(String s : arr) {
            answer.append(s);
        }
        return answer.toString();
    }
}

 

 

StringJoiner
StringJoiner는 주로 문자열을 결합하기 위한 작업에 사용된다.
주로 문자열 컬렉션을 연결할 때 사용하며, 요소 간의 구분자를 지정할 수 있다.
예를 들어, 문자열 배열을 연결하고 각 요소를 쉼표로 구분하려면 StringJoiner를 사용할 수 있다.
StringJoiner의 주요 메서드로는 add, setEmptyValue, toString 등이 있으며, 요소를 추가하고 문자열로 변환하는 데 사용된다.

import java.util.StringJoiner;

class Solution {
    public String solution(String[] arr) {
        StringJoiner joiner = new StringJoiner("");
        for (String s : arr) {
            joiner.add(s);	// Java 8 이상에서 'String.join' 메서드 사용 가능
        }
        return joiner.toString();
    }
}

 

 

간단히 말하면, StringBuilder는 문자열을 구성하고 수정하는 데 사용되는 범용 클래스이며, 

StringJoiner는 문자열을 결합하고 요소 간에 구분자를 추가하는 데 특화된 클래스이다다.

따라서 사용 목적에 따라 두 클래스 중 하나를 선택하면 된다.

728x90
반응형

'Coding > Study' 카테고리의 다른 글

[IT 용어] API (Application Programming Interface)  (0) 2023.10.14
[JAVA] 람다식 Lambda  (0) 2023.10.05
[JSP] JSP 강의평가 웹 사이트 개발하기 완료  (0) 2023.10.02
[GitHub] 깃, 깃허브  (0) 2023.09.28
[Kotlin] 코틀린 맛보기  (0) 2023.09.22

+ Recent posts