본문 바로가기
728x90
반응형

Java97

Java StringBuilder의 기본 예제 /** * * String * StringBuffer : 멀티 쓰레드용 * StringBuilder : 단일스레드용 * */ public class StringBuffer { public static void main(String[] args) { String str = "abcdefghijk"; StringBuilder sb = new StringBuilder(str); // 문자열 -> StringBuilder p("문자열 String 로 변환 : " + sb.toString()); // 출력결과 : 문자열 String 로 변환 : abcdefghijk p("문자열 추출 : " + sb.substring(3,7)); // 출력결과 : 문자열 추출 : defg p("문자열 연결 : " + sb.appe.. 2017. 7. 15.
Java String , StringBuffer , StringBuilder 란 무엇인가? String , StringBuffer , StringBuilder은 모두 문자열을 저장하고 관리하는 클래스입니다. 모두 저장하고 관리하는 클래스면 하나로 통일하면 되지 왜 3개로 나누었을까요?? 이번시간에는 이 세가지 클래스의 차이에 대해 알아보겠습니다. String : immutable ( 불변함 ) StringBuffer , StringBuilder ( 변함 , 변하기 쉬움 ) 을 의미한다 String String 객체는 한번 생성되면 할당된 공간이 변하지않는다. 위의 의미가 무슨 의미인지 이해가 안갈수도 있어 보충 설명을 하겠습니다. "+"연산 또는 concat()를 통해 기존에 있던 문자열에 다른문자열을 추가했을경우 원래있던 문자열 뒤에 추가되는것이 아니라 Heap영역에 새로운 객체를 생성해 그.. 2017. 7. 15.
Java String 활용한 로그인 보안 안행부 시큐어 코딩 가이드 로그인를 따라 예제를 작성했습니다. 대부분의 로그인구현을보면 id와 password를 String로 받는것을 볼 수 있다. 생성자에서 id와 비밀번호를 입력받으면 String 객체로된 값이 Heap영역에 올라가게되는데. 이경우 id 와 pw의 참조변수값을 null로 바꿔주어도 gc가 언제 수행할지 몰라 데이터 유실의 위험이 있다고 한다. 이경우 System.gc()를 호출하고나 . id와 pw의 값을 다른값으로 바꿔주면 된다고 생각할 수 있다. ( 저도 처음에는 그런 생각을 했습니다 ) 하지만 System.gc()의 경우 gc를 실행한다기 보다는 순서를 앞당긴다는 표현이 맞다고 합니다. 또한 id와 pw의 값을 바꾼다고해도 String 의 값을 변경하는것은 기존에있던 객체의 값.. 2017. 7. 15.
Java String클래스의 유용한 메서드종류 Java String클래스의 유용한 메서드종류에 대해 알아보겠습니다. 사용법 및 설명은 주석으로 처리했습니다. String의 메서드들은 원본에 영향을 끼치지 않습니다. import java.util.Arrays; /** * 유용한 클래스 String * */ public class String { public static void main(String[] args) { // 01234567 String s = "abDfAgRe"; p("문자열 출력 : " + s ); p("인덱스[3]의 문자 : " + s.charAt(3)); // 원하는인덱스의 문자를 가져옴. p("대문자로 변환 : " + s.toUpperCase()); // 모든 문자를 대문자로 p("소문자로 변환 : " + s.toLowerCase.. 2017. 7. 15.
728x90
반응형