이것저것 - 문자열 뒤집기(자바)

4177 단어 자바자바

문자열 뒤집기

String 객체로 반환

	Public static String reverse(String input){
		String output = '';
		for(int i = input.length(); i >= 0; i--){
			output += input.charAt(i);
		}
		return output;
	}

StringBuilder로 반환

하지만 위의 함수는 순환문이 호출될 때마다 새로운 String 객체를 만들 것이다.
또한, 반환되는 객체는 불변성을 가지고 있다.

	Public static String reverse(String input){
		StringBuilder stringBuilder = new StringBuilder();
		for (int i = input.length(); i >= 0; i--){
			stringBuilder.append(input.charAt(i));
		}
		return stringBuilder.toString();
	}

StringBuilder 혹은, StringBuffer는 호출될 때마다 새로운 객체를 생성해 가변성을 가지는 반환값을 주는 것이 더 효율적일 수 있다. 또한, 순환문이 돌 때마다 새로운 객체를 생성하지 않아도 된다!!

StringBuilder와 StringBuffer의 차이점

StringBuffer는 동기화 키워드를 지원하여 멀티쓰레드 환경에서 안전하다.
String 역시 불변성을 가지기 때문에 멀티 쓰레드 환경에서 안전하다.

StringBuilder는 멀티쓰레드 환경에서 안전하지 못하지만 성능 면에서는 StringBuffer보다 뛰어나다. !

좋은 웹페이지 즐겨찾기