Object.toString()

Object(Wrapper Class[Integer, Character, Double ...])등의 데이터를 String으로 바꿔준다.

기본 자료형(Primitive Type)은 사용 불가능하다.

null값을 넣으면 NullPointerException이 발생한다.

valueOf(Object obj)

파라미터에 들어가는 Object(int, boolean, char, double)등을 String형으로 바꿔 반환해준다.

파라미터값이 null이라면 "null"이라는 문자열로 반환된다.

 

 

'Java' 카테고리의 다른 글

문자열 정렬  (0) 2021.09.20
parseInt() / valueOf()  (0) 2021.09.03
length() / length / size() 사용법 차이  (0) 2021.08.27
배열  (0) 2021.08.05
String 메소드(Java)  (0) 2021.08.03

String클래스에는 문자열을 정렬해주는 메서드가 따로 존재하지 않는다. 

1. String.toCharArray() 이용

 	String str = "GLSGNKLAANKAB";
	char[] stringToChar = str.toCharArray();
	Arrays.sort(stringToChar);
	String sortedArr = new String(stringToChar);// String.valueOf도 가능

 

'Java' 카테고리의 다른 글

문자열 형변환 : Object.toString(), String.valueOf()  (0) 2021.09.20
parseInt() / valueOf()  (0) 2021.09.03
length() / length / size() 사용법 차이  (0) 2021.08.27
배열  (0) 2021.08.05
String 메소드(Java)  (0) 2021.08.03

Integer.parseInt()의 리턴값은 기본자료형이고

Integer.valueOf()의 리턴값은 new Integer()로 객체를 리턴한다.

valueOf메소드는 다른 형태의 변환도 존재한다.( String.valueOf(int n)과 같은 형태도 가능하다. )

 

'Java' 카테고리의 다른 글

문자열 형변환 : Object.toString(), String.valueOf()  (0) 2021.09.20
문자열 정렬  (0) 2021.09.20
length() / length / size() 사용법 차이  (0) 2021.08.27
배열  (0) 2021.08.05
String 메소드(Java)  (0) 2021.08.03

length() - 문자열의 길이

		String str = new String();
		str = "Hello world!";
		System.out.println(str.length()); //  == 12

length - 배열의 길이

		int[] arr1 = new int[10];
		System.out.print(arr1.length);     // == 10
		
		int[][] arr2 = new int[10][20];
		System.out.print(arr2[0].length);  // == 20
		System.out.print(arr2.length); 	   // == 10

size() - 컬렉션 타입의 길이

ArrayList<Integer> arr = new ArrayList<Integer>();
		arr.add(1);
		arr.add(1);
		arr.add(1);
		arr.add(1);
		System.out.print(arr.size()); 	   // == 4

'Java' 카테고리의 다른 글

문자열 정렬  (0) 2021.09.20
parseInt() / valueOf()  (0) 2021.09.03
배열  (0) 2021.08.05
String 메소드(Java)  (0) 2021.08.03
문자열 자르기(Java)  (0) 2021.08.03

1. Java에서 배열의 모든 요소는 초기화해주지 않아도 된다. 기본값을 갖는다

  • byte 유형의 경우 기본값 은 0 이며, 즉 (byte)의 값은 0 입니다.
  • short 유형의 경우 기본값 은 0 이며, 즉 (short) 값은 0 입니다.
  • int 유형의 경우 기본값 은 0 , 즉 0 입니다.
  • long 유형의 경우 기본값 은 0 , 즉 0L 입니다.
  • float 유형의 경우 기본값 은 양수 0 , 즉 0.0f 입니다.
  • double 유형의 경우 기본값 은 양수 0 , 즉 0.0d 입니다.
  • char 유형의 경우 기본값 은 널 문자, 즉 ‘ \ u0000 ‘입니다.
  • boolean 유형의 경우 기본값 은 false 입니다.
  • 대한 모든 참조 형 의 디폴트 값은 이다 널 (null) .

2. 모든 원소값을 특정 값으로 채우는게 가능하다.

public class TestProgram {

	public static void main(String[] args) {
		int[][] a = new int[5][5];
        
		for(int i = 0; i < 5;i++)
			Arrays.fill(a[i],1);
		
		for( int i = 0; i < 5;i++)
		{
			for(int j =0;j <5;j++)
				System.out.print(a[i][j]);
			System.out.println();
		}
	}

}

3. 배열 복사

Array(배열)은 객체이므로 기본자료형 처럼 대입을 통해 복사를 한다면 배열의 참조만 복사가된다.(복사 배열 변경시 원본 변경됨)

따라서 다음과 같은 방법을 이용해야 한다.

Object.Clone()이용

int[] numbers = {1,2,3,4,5};
int[] newNumbers = numbers.clone();

4. 2차원 ArrayList

public class TestProgram {

	public static void main(String[] args) {
		ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
		
		for(int i = 0; i < 5; i++)
			list.add(new ArrayList<Integer>());
		list.get(0).add(0);
		list.get(1).add(1);
		list.get(1).add(2);
		list.get(2).add(3);
		list.get(2).add(4);
		list.get(2).add(5);
		list.get(3).add(6);
		list.get(4).add(7);
		for(int i = 0 ; i < 5;i++) {
			for(int j = 0; j < list.get(i).size();j++)
			{
				System.out.printf("%d ",list.get(i).get(j));
			}
			System.out.println();
		}
	}

}

ArrayList안에 ArrayList를 할당해주는 느낌이다.

위에서는 공간을 할당한 뒤 값을 채웠는데

값을 채운뒤 추가하는것도 가능하다

'Java' 카테고리의 다른 글

문자열 정렬  (0) 2021.09.20
parseInt() / valueOf()  (0) 2021.09.03
length() / length / size() 사용법 차이  (0) 2021.08.27
String 메소드(Java)  (0) 2021.08.03
문자열 자르기(Java)  (0) 2021.08.03

공백제거

1.public String trim() : 문자열의 앞뒤 공백을 제거해주는 메소드

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s1 = "    Hello New World    ";
		System.out.println(s1.trim());
		
	}

}

 

2.public String replaceAll(String regax, String replacement): 특정 문자열을 다른 문자열로 치환해주는 메소드

ex) s1.replaceAll("Hello", "A");

HelloHelloHello -> AAA

이를 잘 활용하면 문자열사이의 공백 제거가 가능하다.

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s1 = "    Hello New World    ";
		System.out.println(s1.replaceAll(" ",""));
		
	}

}

[JAVA] 자바 - 공백 문자 제거하기 (trim, replaceAll) (tistory.com)

문자열 뽑기

1. charAt(int index) : 문자열의 인덱스를 이용해 해당 자리의 문자를 뽑아낸다.(char타입으로 반환됨)

String str = "Hello";

char c = str.charAt(0);

System.out.print(c) // 출력값: 'H'

문자열 이어붙이기

1. Concat(): String클래스에서 제공하는 기본 메서드로 합친 문자열을 String 객체로 생성한다. 사용할 때마다 객체를 새로 생성하기 때문에 성능이 떨어진다.

String text1 = "첫 번째 문자열 ";

String text2 = "두 번째 문자열"; 

System.out.print(text1.concat(text2)); // 첫 번째 문자열 두 번째 문자열

 

2. '+' 연산자: 문자열을 StringBuilder로 변환시킨 뒤 Append로 문자열을 더하고 다시 toString()으로 문자열을 반환해주는 방식이다.

System.out.print(text1 + text2); 

 

3. StringBuilder: StringBuilder객체의 append메서드를 이용하여 문자열을 덧붙이는 방식

StringBuilder sb = new StringBuilder();

sb.append("text1 ");

sb.append("text2");

String str = sb.toString();

System.out.print(str); // text1 text2

문자열 -> Char배열변환

String.toCharArray() 메서드는 String을 char배열로 변환해준다.

String str = "hello";
char[] arrChar = str.toCharArray();

 

 

'Java' 카테고리의 다른 글

문자열 정렬  (0) 2021.09.20
parseInt() / valueOf()  (0) 2021.09.03
length() / length / size() 사용법 차이  (0) 2021.08.27
배열  (0) 2021.08.05
문자열 자르기(Java)  (0) 2021.08.03

1. StringTokenizer이용

  • StringTokenizer st = new StringTokenizer(문자열, 구분자, true/false);
  • 구분자의 default값은 공백이고, 여러개의 구분자를 사용할 수 있다.
  • 세 번째 인자에 true값이 들어간다면 구분자도 문자열 토큰에 포함된다.
public class TestProgram {

	public static void main(String[] args) {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer("아아아 어어어어ㅓ 아너너아아!아오올아이"," !");
		while(st.hasMoreTokens())
			System.out.println(st.nextToken());
		
	}

}

2. Split 메소드 이용

public string[] split(String regax,int limit) 

  • 구분자를 이용해 문자열을 문자열 배열에 담는다.
  • int limit은 반환되는 배열의 크기를 의미한다.(구분자를 통해 자르는 개수)
  • split()을 사용하면 문자열의 공간은 크기에 맞춰 새로 할당된다.
  • "+"문자는 "\\+"로 사용해야한다.
  • 구분자를 여러개 사용할 시 "|"로 구분해줘야한다.
public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s1 = "Hello New World";
		String[] s2 =s1.split(" ",2);
		for(int i = 0; i < s2.length; i++)
		{
			System.out.println(s2[i]);
		}
	}

}

 

*StringTokenizer 와 split차이

  • StringTokenizer는 java.util에 포함되어 있는 클래스이고, split은 String클래스에 속해 있는 메소드이다.
  • StringTokenizer는 빈 문자열을 토큰으로 인식하지 않지만 split은 빈 문자열을 토큰으로 인식한다.
  • StringTokenizer는 결과값이 문자열이고 split은 결과 값이 문자열 배열이어서 성능이 약간 뒤쳐진다.

3. substring이용

s1.substring(startIndex, endIndex)

start ~ end까지자른 문자열을 반환

 

s1.substring(startIndex)

start ~ 문자열의 끝까지 자른 문자열 반환

참고

[JAVA 자바] StringTokenizer 클래스로 문자열 분리하기! split 비교. (tistory.com)

'Java' 카테고리의 다른 글

문자열 정렬  (0) 2021.09.20
parseInt() / valueOf()  (0) 2021.09.03
length() / length / size() 사용법 차이  (0) 2021.08.27
배열  (0) 2021.08.05
String 메소드(Java)  (0) 2021.08.03

+ Recent posts