package com.stringex;//문자열 과 객체 비교

public class StringEx1 {

	public static void main(String[] args) {
		//암시적 객체생성
		//암시적으로 String 객체를 생성할때 문자열이 같으면 객체를 공유함
		String str1 = "abc";
		String str2 = "abc";

		//객체 비교
		if(str1==str2)
			System.out.println("str1과 str2는 같은 객체");//<-
		else
			System.out.println("str1과 str2는 다른 객체");

		//문자열 비교
		if(str1.equals(str2))
			System.out.println("str1과 str2는 같은 객체");//<-
		else
			System.out.println("str1과 str2는 다른객체");
		
		System.out.println("=-=-=-=-=-=-=-=-=-=-=-");

		//명시적 객체생성
		//명시적으로 String객체를 생성하면 문자열이 같아도 객체를 따로 생성
		String str3 = new String("abc");
		String str4 = new String("abc");

		if(str3==str4)
			System.out.println("str3과 str4는 같은 객체");
		else
			System.out.println("str3과 str4는 다른 객체");//<-

		if(str3.equals(str4))
			System.out.println("str3과 str4는 같은 객체");//<-
		else
			System.out.println("str3과 str4는 다른 객체");

	}
}

str1과 str2는 같은 객체

str1과 str2는 같은 객체
=-=-=-=-=-=-=-=-=-=-=-
str3과 str4는 다른 객체
str3과 str4는 같은 객체

'Java > 중요클래스' 카테고리의 다른 글

String예제4  (0) 2012.04.11
String클래스  (0) 2012.04.11
String클래스 란?  (0) 2012.04.11
String클래스의 내용비교를 위한 equals 메서드  (0) 2012.04.11
toSting클래스 재정의  (0) 2012.04.11

String s = "겨울"; 암시적 객체 생성
String s = new String("겨울") 명시적 객체생성

암시적으로 내용이 같은 객체를 생성하면
공유한다 




String 클래스


String s= new Strng("겨울");  //명시적 객채를 생성 //원형 

명시적으로 생성할경우 무조건 객체를 따로 만든다.
명시적 s1  =>   겨울    
명시적 s2  =>   겨울
명시적 s3  =>   겨울          
명시적 s4  =>   여름

String s = "겨울";   //암시적 객체를 생성   //편의를 위해서

암시적으로 생성할경우 문자열이 같을경우 객체를 공유한다.
암시적 s5  =>    
암시적 s6  =>   겨울
암시적 s7  =>          
암시적 s8  =>   여름

객체비교 : 객체가 있는지 없는지 확인 null 확인 // String s= null;  => if(s != null){ ... }
if (s1 == s2) false
if (s1 == s5) false
if (s5 == s6) true
if (s5 == s8) false

문자열비교 : ID 체크
if(s1.equals(s2)) true
if(s1.equals(s5)) true
if(s5.equals(s6)) true
if(s5.equals(s8)) false


Modifier and Type

Method and Description

char

charAt(int index)

Returns the char value at the specified index.

int

codePointAt(int index)

Returns the character (Unicode code point) at the specified index.

int

codePointBefore(int index)

Returns the character (Unicode code point) before the specified index.

int

codePointCount(int beginIndex, int endIndex)

Returns the number of Unicode code points in the specified text range of thisString.

int

compareTo(String anotherString)

Compares two strings lexicographically.

int

compareToIgnoreCase(String str)

Compares two strings lexicographically, ignoring case differences.

String

concat(String str)

Concatenates the specified string to the end of this string.

boolean

contains(CharSequence s)

Returns true if and only if this string contains the specified sequence of char values.

boolean

contentEquals(CharSequence cs)

Compares this string to the specified CharSequence.

boolean

contentEquals(StringBuffer sb)

Compares this string to the specified StringBuffer.

static String

copyValueOf(char[] data)

Returns a String that represents the character sequence in the array specified.

static String

copyValueOf(char[] data, int offset, int count)

Returns a String that represents the character sequence in the array specified.

boolean

endsWith(String suffix)

Tests if this string ends with the specified suffix.

boolean

equals(Object anObject)

Compares this string to the specified object.

boolean

equalsIgnoreCase(String anotherString)

Compares this String to another String, ignoring case considerations.

static String

format(Locale l, String format, Object... args)

Returns a formatted string using the specified locale, format string, and arguments.

static String

format(String format, Object... args)

Returns a formatted string using the specified format string and arguments.

byte[]

getBytes()

Encodes this String into a sequence of bytes using the platform's default charset, storing the result into a new byte array.

byte[]

getBytes(Charset charset)

Encodes this String into a sequence of bytes using the given charset, storing the result into a new byte array.

void

getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)

Deprecated. 

This method does not properly convert characters into bytes. As of JDK 1.1, the preferred way to do this is via the getBytes() method, which uses the platform's default charset.

byte[]

getBytes(String charsetName)

Encodes this String into a sequence of bytes using the named charset, storing the result into a new byte array.

void

getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

Copies characters from this string into the destination character array.

int

hashCode()

Returns a hash code for this string.

int

indexOf(int ch)

Returns the index within this string of the first occurrence of the specified character.

int

indexOf(int ch, int fromIndex)

Returns the index within this string of the first occurrence of the specified character, starting the search at the specified index.

int

indexOf(String str)

Returns the index within this string of the first occurrence of the specified substring.

int

indexOf(String str, int fromIndex)

Returns the index within this string of the first occurrence of the specified substring, starting at the specified index.

String

intern()

Returns a canonical representation for the string object.

boolean

isEmpty()

Returns true if, and only if, length() is 0.

int

lastIndexOf(int ch)

Returns the index within this string of the last occurrence of the specified character.

int

lastIndexOf(int ch, int fromIndex)

Returns the index within this string of the last occurrence of the specified character, searching backward starting at the specified index.

int

lastIndexOf(String str)

Returns the index within this string of the last occurrence of the specified substring.

int

lastIndexOf(String str, int fromIndex)

Returns the index within this string of the last occurrence of the specified substring, searching backward starting at the specified index.

int

length()

Returns the length of this string.

boolean

matches(String regex)

Tells whether or not this string matches the given regular expression.

int

offsetByCodePoints(int index, int codePointOffset)

Returns the index within this String that is offset from the given index bycodePointOffset code points.

boolean

regionMatches(boolean ignoreCase, int toffset,String other, int ooffset, int len)

Tests if two string regions are equal.

boolean

regionMatches(int toffset, String other, int ooffset, int len)

Tests if two string regions are equal.

String

replace(char oldChar, char newChar)

Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar.

String

replace(CharSequence target,CharSequence replacement)

Replaces each substring of this string that matches the literal target sequence with the specified literal replacement sequence.

String

replaceAll(String regex, String replacement)

Replaces each substring of this string that matches the given regular expression with the given replacement.

String

replaceFirst(String regex, String replacement)

Replaces the first substring of this string that matches the given regular expression with the given replacement.

String[]

split(String regex)

Splits this string around matches of the given regular expression.

String[]

split(String regex, int limit)

Splits this string around matches of the given regular expression.

boolean

startsWith(String prefix)

Tests if this string starts with the specified prefix.

boolean

startsWith(String prefix, int toffset)

Tests if the substring of this string beginning at the specified index starts with the specified prefix.

CharSequence

subSequence(int beginIndex, int endIndex)

Returns a new character sequence that is a subsequence of this sequence.

String

substring(int beginIndex)

Returns a new string that is a substring of this string.

String

substring(int beginIndex, int endIndex)

Returns a new string that is a substring of this string.

char[]

toCharArray()

Converts this string to a new character array.

String

toLowerCase()

Converts all of the characters in this String to lower case using the rules of the default locale.

String

toLowerCase(Locale locale)

Converts all of the characters in this String to lower case using the rules of the given Locale.

String

toString() : 재정의

This object (which is already a string!) is itself returned.

String

toUpperCase()

Converts all of the characters in this String to upper case using the rules of the default locale.

String

toUpperCase(Locale locale)

Converts all of the characters in this String to upper case using the rules of the given Locale.

String

trim()

Returns a copy of the string, with leading and trailing whitespace omitted.

static String

valueOf(boolean b)

Returns the string representation of the boolean argument.

static String

valueOf(char c)

Returns the string representation of the char argument.

static String

valueOf(char[] data)

Returns the string representation of the char array argument.

static String

valueOf(char[] data, int offset, int count)

Returns the string representation of a specific subarray of the char array argument.

static String

valueOf(double d)

Returns the string representation of the double argument.

static String

valueOf(float f)

Returns the string representation of the float argument.

static String

valueOf(int i)

Returns the string representation of the int argument.

static String

valueOf(long l)

Returns the string representation of the long argument.

static String

valueOf(Object obj)

Returns the string representation of the Object argument.

 

'Java > 중요클래스' 카테고리의 다른 글

String클래스  (0) 2012.04.11
문자열과 객체 비교  (0) 2012.04.11
String클래스의 내용비교를 위한 equals 메서드  (0) 2012.04.11
toSting클래스 재정의  (0) 2012.04.11
toString() 클래스  (0) 2012.04.11
package com.objectex;//String클래스의 내용비교를 위한 equals 메서드
class Value{
	int value;
	Value(int value){
		this.value=value;
	}
}
public class EqualsEx1 {
	public static void main(String[] args){
		Value v1 = new Value(10);
		Value v2 = new Value(10);
		
		
		//(toString())재정의 될수 있으므로 ↓이것을 많이 사용
		if(v1==v2)
			System.out.println("v1과v2는 같습니다.");
		else
			System.out.println("v1과v2는 다릅니다.");
		
		System.out.println("======================");
		
		//Object의 equals()는 (객체 비교 boolean타입으로 리턴됨)
		if(v1.equals(v2))
			System.out.println("v1과v2는 같습니다.");
		else
			System.out.println("v1과v2는 다릅니다.");
		
		System.out.println("======================");
		v2 = v1;
		
		
		if(v1.equals(v2))
			System.out.println("v1과v2는 같습니다.");
		else
			System.out.println("v1과v2는 다릅니다.");	
	}
}

v1과v2는 다릅니다.

======================
v1과v2는 다릅니다.
======================
v1과v2는 같습니다.

'Java > 중요클래스' 카테고리의 다른 글

문자열과 객체 비교  (0) 2012.04.11
String클래스 란?  (0) 2012.04.11
toSting클래스 재정의  (0) 2012.04.11
toString() 클래스  (0) 2012.04.11
getClass() hasCode() toString()메서드  (0) 2012.04.11
package com.objectex;//toString()재정의

class UserDate{
	//object의 toString()재정의
	public String toString(){
		return "2011년 12월 28일";
	}
}

public class ToStringTest2 {
	public static void main(String[] args) {
		UserDate u = new UserDate();
		System.out.println(u);
	}
}

2011년 12월 28일

'Java > 중요클래스' 카테고리의 다른 글

문자열과 객체 비교  (0) 2012.04.11
String클래스 란?  (0) 2012.04.11
String클래스의 내용비교를 위한 equals 메서드  (0) 2012.04.11
toString() 클래스  (0) 2012.04.11
getClass() hasCode() toString()메서드  (0) 2012.04.11
package com.objectex;//ToString참조값

import java.util.Date;


public class ToStringTest {
	public static void main(String[] args) {
		ToStringTest t = new ToStringTest();
		System.out.println(t);
		System.out.println(t.toString());
		System.out.println("------------------");
		System.out.println(new ToStringTest());
		//클래스명.(hashCode() -> 16진수로 변환값)
		
		System.out.println("------------------");
		Date now = new Date();
		System.out.println(now);
		System.out.println(now);
	}
}

com.objectex.ToStringTest@c05d3b

com.objectex.ToStringTest@c05d3b
------------------
com.objectex.ToStringTest@128f6ee
------------------
Tue Dec 27 11:20:35 KST 2011
Tue Dec 27 11:20:35 KST 2011

'Java > 중요클래스' 카테고리의 다른 글

문자열과 객체 비교  (0) 2012.04.11
String클래스 란?  (0) 2012.04.11
String클래스의 내용비교를 위한 equals 메서드  (0) 2012.04.11
toSting클래스 재정의  (0) 2012.04.11
getClass() hasCode() toString()메서드  (0) 2012.04.11
package com.objectex;//getClass() hasCode() toString()메서드

//암묵적으로 object가 상속되어 있음
class Point{
}

public class ObjectTest00 {
	public static void main(String[] args) {
		Point obj = new Point();
		System.out.println("클래스 이름  : "+obj.getClass());
		
		//객체를 식별할 수 있는(값10진수 형태)
		System.out.println("해쉬 코드  : "+obj.hashCode());
		//클래스명@16진수 형태
		System.out.println("객체 문자열(참조값) : "+obj.toString());


		System.out.println("=-=-=-=-=-=-=-=-=-=" +
				"-=-=-=-=-=-=-=-=-=-=-=-=-");

		Point obj02 = new Point();

		System.out.println("클래스 이름  : "+obj02.getClass());
		System.out.println("해쉬 코드  : "+obj02.hashCode());
		System.out.println("객체 문자열(참조값) : "+obj02.toString());
	}
}

클래스 이름  : class com.objectex.Point

해쉬 코드  : 11918020
객체 문자열(참조값) : com.objectex.Point@b5dac4
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
클래스 이름  : class com.objectex.Point
해쉬 코드  : 19764978
객체 문자열(참조값) : com.objectex.Point@12d96f2

'Java > 중요클래스' 카테고리의 다른 글

문자열과 객체 비교  (0) 2012.04.11
String클래스 란?  (0) 2012.04.11
String클래스의 내용비교를 위한 equals 메서드  (0) 2012.04.11
toSting클래스 재정의  (0) 2012.04.11
toString() 클래스  (0) 2012.04.11

+ Recent posts