JAVA String.valueOf()방법의 용법 설명

4354 단어 JAVAStringvalueOf
1.기본 데이터 형태 에서 String 으로 변환
String 클래스 에 서 는 기본 데이터 형식 을 String 으로 변환 하 는 static 방법,즉 String.valueOf()이라는 매개 변 수 를 많이 불 러 오 는 방법 을 제공 합 니 다.
다음 과 같은 몇 가지 가 있다.
(1)String.valueOf(boolean b):boolean 변수 b 를 문자열 로 변환 합 니 다.
(2)String.valueOf(char c):char 변수 c 를 문자열 로 변환
(3)String.valueOf(char[]data):char 배열 data 를 문자열 로 변환 합 니 다.
(4)String.valueOf(char[]data,int offset,int count):char 배열 data 에서 data[offset]부터 count 요 소 를 문자열 로 변환 합 니 다.
(5)String.valueOf(double d):double 변수 d 를 문자열 로 변환 합 니 다.
(6)String.valueOf(float f):float 변수 f 를 문자열 로 변환 합 니 다.
(7)String.valueOf(int i):int 변수 i 를 문자열 로 변환
(8)String.valueOf(long l):long 변 수 를 문자열 로 변환 합 니 다.
(9)String.valueOf(Object obj):obj 대상 을 문자열 로 변환 합 니 다.obj.toString()과 같 습 니 다.
용법 은 다음 과 같다.
int i = 10;
String str = String.valueOf(i);
이때 str 는"10"입 니 다.
2.String 에서 숫자의 기본 데이터 형태 로 변환
String 을 기본 데이터 형태 로 변환 하려 면 기본 데이터 형식의 포장 유형 을 사용 해 야 합 니 다.
예 를 들 어 String 을 byte 로 변환 하면 Byte.parseByte(String s)를 사용 할 수 있 습 니 다.이런 방법 은 s 분석 을 할 수 없 으 면 NumberFormat Exception 을 잃 어 버 립 니 다.
(1)byte:Byte.parseByte(String s):s 를 byte 로 변환
(2)Byte.parseByte(String s,int radix):radix 를 바탕 으로 s 를 byte 로 변환 합 니 다.예 를 들 어 Byte.parseByte("11",16)는 17 을 얻 을 수 있 습 니 다.
(3)double:double.parseDouble(String s):s 를 double 로 변환 합 니 다.
(4)float:Double.parseFloat(String s):s 를 float 로 변환 합 니 다.
(5)int:Integer.parseInt(String s):s 를 int 로 변환
(6)long : Long.parseLong(String s)
보충 지식:자바 가 자주 사용 하 는 String.valueOf,toString,(String)
문자열 형식의 전환 은 자바 에서 자주 사용 되 는 방법 으로 제목 의 세 가지 가 있 습 니 다.
간단 한 소개:
1.toString,이 방법 을 호출 하 는 클래스,방법,변 수 는 null 이 아 닌 것 을 보증 해 야 합 니 다.그렇지 않 으 면 빈 포인터 가 표 시 됩 니 다.
2、String.valueOf。이 방법 은 사용 할 때 좀 특수 하 다.일반적으로 형식 을 정 한 null 이 들 어 오 면 문자열'null'을 되 돌려 주 고 null 로 직접 들 어 오 면 오류 가 발생 합 니 다.
3.(String)문자열 형식 이 강 전 됩 니 다.보증 해 야 할 것 은 타 입 이 String 타 입 으로 바 뀔 수 있다 는 것 이다.
여기 서 밸 류 오 브 를 중점적으로 소개 합 니 다.
예 를 들 어:

String teString=null;
teString=String.valueOf(teString);
System.out.println(teString);
이러한 표기 법 은 String 형식 이 들 어 오 는 것 을 확 인 했 기 때문에 value Of 에서 대응 하 는 구조 함 수 를 호출 할 때 오류 가 발생 하지 않 기 때문에 문자열'null'을 되 돌려 줍 니 다.
String.valueOf(null);
그러나 이상 의 쓰기 로 바 뀌 면 빈 지침 을 제시 합 니 다.
문제 분석:왜 상기 두 가지 다른 결과 가 나 왔 는 지 소스 코드 를 보면 원인 을 알 수 있다.
value Of 는 다음 과 같은 몇 가지 무 거 운 짐 이 있 습 니 다.

코드 에 다음 과 같이 쓰 십시오.

boolean temp = false;
      String.valueOf(temp);
      
      char temp1 = 0;
      String.valueOf(temp1);
      
      double value = 0;
      String.valueOf(value);
      
      Object object=null;
      String.valueOf(object);
      
      float f = 0;
      String.valueOf(f);
      
      int i = 0;
      String.valueOf(i);
      
      long l = 0;
      String.valueOf(l);
      
      System.out.println("------------   ---------------");
      
      //     
     char[] chars=null;
     String.valueOf(chars);
     
     //     
     String.valueOf(null, 0, 0);
실행 후 빈 지침 을 만 드 는 것 은 뒤의 두 가지 방식 일 수 있 습 니 다.원본 코드 에서 value Of(char[])는 최종 적 으로 value Of(char[],int,int)라 는 리 셋 에 들 어 갑 니 다.따라서 우 리 는 해당 하 는 원본 코드 를 직접 봅 니 다.다음 과 같 습 니 다.

 public String(char[] data, int offset, int charCount) {
    if ((offset | charCount) < 0 || charCount > data.length - offset) {
      throw failedBoundsCheck(data.length, offset, charCount);
    }
    this.offset = 0;
    this.value = new char[charCount];
    this.count = charCount;
    System.arraycopy(data, offset, value, 0, count);
  }
여기에 빈 지침 이 생 길 것 이다.
빈 포인터 의 원인 을 알 게 되 었 습 니 다.또 하나의 의문 은 String.valueOf(null)가 다른 무 거 운 짐 이 아 닌 valueOf(char[])라 는 무 거 운 짐 으로 가 는 이유 입 니 다.
자바 에서 리 셋 에 대한 매 칭 은 리 셋 이 모두 일치 할 때 범위 가 작고 정밀도 가 높 은 방법 을 우선 선택 하 는 것 이기 때문에 char[]이 방법 을 자동 으로 리 셋 합 니 다.
이상 을 통 해 String.valueOf()방법 이 null 이 나타 날 수 있 음 을 알 수 있 습 니 다.사용 시 주의 가 필요 합 니 다.
이상 의 JAVA String.valueOf()방법의 용법 설명 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 많은 응원 부 탁 드 리 겠 습 니 다.

좋은 웹페이지 즐겨찾기