배열 toString () 방법, 배열 상용 동작
int[] arr ={1,2,3,4,5};
String arrString = Arrays.toString(arr);
// [I@7150bd4d
System.out.println(arrString);
// [1, 2, 3, 4, 5]
자바 에 서 는 모든 클래스 가 자바 라 이브 러 리 에 있 는 클래스 든 당신 이 만 든 클래스 든 모두 object 클래스 에서 계승 되 었 습 니 다.object 에 toString () 방법 이 있 습 니 다. 모든 클래스 를 만 들 때 toString 방법 이 있 습 니 다.
자바 출력 용 함수 print ();대상 이 직접 출력 하 는 것 을 받 아들 이지 않 고 문자열 이나 숫자 같은 출력 만 받 습 니 다.그럼 만 든 대상 을 출력 하려 면 어떻게 합 니까?
package com.spring.h3;
public class Test2 {
public static void main(String[] args) {
System.out.println("new Test2()==="+new Test2());
// :new Test2()===com.spring.h3.Test2@18a992f
}
}
print 가 받 아들 이 는 형식 에 따라 s1 은 직접 출력 할 수 없습니다. 그러면 이것 은 컴 파일 하여 실행 할 수 없다 는 것 을 의미 하 는 것 입 니까?아니 지.print 에서 출력 이 문자 나 숫자 가 아 닌 대상 임 을 감지 하면 이 대상 클래스 의 toString 방법 을 호출 합 니 다. 출력 결 과 는 [형식 @ 해시 값] 입 니 다.Object 클래스 의 toString () 방법의 소스 코드 는 다음 과 같 습 니 다.
/**
* Returns a string representation of the object. In general, the
* toString
method returns a string that
* "textually represents" this object. The result should
* be a concise but informative representation that is easy for a
* person to read.
* It is recommended that all subclasses override this method.
*
* The toString
method for class Object
* returns a string consisting of the name of the class of which the
* object is an instance, the at-sign character `@
', and
* the unsigned hexadecimal representation of the hash code of the
* object. In other words, this method returns a string equal to the
* value of:
*
*
* getClass().getName() + '@' + Integer.toHexString(hashCode())
*
*
* @return a string representation of the object.
*/
public String toString() {
return getClass().getName() + "@"+ Integer.toHexString(hashCode());
}
배열 류 에 서 는 이 방법 에 대해 재 작성 (override) 하지 않 았 습 니 다. 재 업로드 (overload) 와 같은 정적 방법 (자바 util. Arrays 참조) 만 있 습 니 다.따라서 배열 이 toString () 을 직접 사용 한 결과 도 [유형 @ 해시 값] 입 니 다.
그래서 배열 을 문자열 로 바 꾸 려 면 다음 과 같이 써 야 합 니 다.Arrays.toString(a)
이러한 방법의 toString () 은 형식 이 있 습 니 다. 즉, 출력 은 [a, b, c] 입 니 다. abc 만 출력 하려 면 다음 과 같은 두 가지 방법 이 필요 합 니 다.
방법 1: String 을 직접 구성 할 때 전환 합 니 다.char[] data = {'a', 'b', 'c'};
String str = new String(data);
방법 2: String 클래스 를 호출 하 는 방법 으로 변환 합 니 다.String.valueOf(char[] ch)
배열 상용 동작
1. 배열 설명String[] arr1 = new String[5];
String[] arr2 = {"a","b","c", "d", "e"};
String[] arr3= new String[]{"a","b","c","d","e"};
2. 배열 출력int[] arr = { 1, 2, 3, 4, 5 };
String arrString = Arrays.toString(arr);
// ,
System.out.println(arr);
// [I@139a55
System.out.println(arrString );
// [1, 2, 3, 4, 5]
3. 한 배열 에 어떤 값 이 포함 되 어 있 는 지 확인 합 니 다. String[] arr= { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(arr).contains("a");
System.out.println(b);
// true
4. 두 배열 연결
방법 1
방법 2
방법 3// Apache Commons Lang library
int[] arr1 = { 1, 2, 3, 4, 5 };
int[] arr2= { 6, 7, 8, 9, 10 };
int[] combArr = ArrayUtils.addAll(arr1 , arr2);
5. 역 출력 배열
방법 1
방법 2// System.arraycopy()
static String[] concat(String[] a, String[] b) {
String[] c = new String[a.length + b.length];
System.arraycopy(a, 0, c, 0, a.length);
System.arraycopy(b, 0, c, a.length, b.length);
return c;
}
6. 배열 의 요 소 를 제거 합 니 다.//Arrays.copyOf()
public static int[] concat(int[] first, int[] second) {
int[] result = Arrays.copyOf(first, first.length + second.length);
System.arraycopy(second, 0, result, first.length, second.length);
return result;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WeakHashMap,IdentityHashMap,EnumMap다른 맵 구현 클래스와 달리 WeakHashMap 클래스의 키 대상은 간접적으로 약한 인용의 지시 대상으로 저장되며, 키가 정상적으로 사용되지 않을 때 자동으로 항목을 제거합니다.더 정확히 말하면, 주어진 키에 대한...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.