자바 반사 로 String 의 값 을 변경 하 는 과정 에 대한 상세 한 설명

목적.
String 대상 의 값 변경
방법.
반사 기술 을 사용 하여 String 의 값 을 획득 하고 변경 합 니 다.
코드
반사 기술 로 String 의 값 을 교체 합 니 다.

package com.pojo;

import java.lang.reflect.Field;

/**
 * @auther::9527
 * @Description:   String   
 * @program: jstl2
 * @create: 2019-10-03 19:02
 */
public class ChangeString {
  public static void main(String[] args) throws Exception {
    String str = new String("abc");
    System.out.println("    str   :" + str);
    //1、  String    Class
    Class<? extends String> clazz = str.getClass();
    //2、  clazz     value  
    Field value = clazz.getDeclaredField("value");
    //3、                     
    value.setAccessible(true);
    //4、  value      (    )
    //   String        char[]      ,       char[]  
    char[] temp = (char[])value.get(str);
    //5、  temp          String      ,           
    //     char  ,       
    temp[0] = ' ';
    temp[1] = ' ';
    temp[2] = ' ';
    System.out.println("       str  :"+str);
  }
}
실행 결과

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기