Gen 클래스 의 문자열 동작
public void t(String d){
final String str = "b";
String s = "a"+"c"+str+d;
}
class 파일 역 컴 파일 후 내용 은 다음 과 같 습 니 다.
public void t(String d) {
String str = "b";
(new StringBuilder()).append("acb").append(d).toString();
}
컴 파일 된 class 파일 은 다음 과 같 습 니 다.
public class com.test19.Test07
SourceFile: "Test07.java"
Utf8 1533966651178Utf8 1533966851637minor version: 0
major version: 51
flags: ACC_PUBLIC, ACC_SUPER
Constant pool:
#1 = Methodref #9.#30 // java/lang/Object."":()V
#2 = String #31 // b
#3 = Class #32 // java/lang/StringBuilder
#4 = Methodref #3.#30 // java/lang/StringBuilder."":()V
#5 = String #33 // acb
#6 = Methodref #3.#34 // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
#7 = Methodref #3.#35 // java/lang/StringBuilder.toString:()Ljava/lang/String;
#8 = Class #36 // com/test19/Test07
#9 = Class #37 // java/lang/Object
#10 = Utf8
#11 = Utf8 ()V
#12 = Utf8 Code
#13 = Utf8 LineNumberTable
#14 = Utf8 CharacterRangeTable
#15 = Utf8 LocalVariableTable
#16 = Utf8 this
#17 = Utf8 Lcom/test19/Test07;
#18 = Utf8 t
#19 = Utf8 (Ljava/lang/String;)V
#20 = Utf8 d
#21 = Utf8 Ljava/lang/String;
#22 = Utf8 str
#23 = Utf8 s
#24 = Utf8 SourceFile
#25 = Utf8 Test07.java
#26 = Utf8 SourceID
#27 = Utf8 1533966651178
#28 = Utf8 CompilationID
#29 = Utf8 1533966851637
#30 = NameAndType #10:#11 // "":()V
#31 = Utf8 b
#32 = Utf8 java/lang/StringBuilder
#33 = Utf8 acb
#34 = NameAndType #38:#39 // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
#35 = NameAndType #40:#41 // toString:()Ljava/lang/String;
#36 = Utf8 com/test19/Test07
#37 = Utf8 java/lang/Object
#38 = Utf8 append
#39 = Utf8 (Ljava/lang/String;)Ljava/lang/StringBuilder;
#40 = Utf8 toString
#41 = Utf8 ()Ljava/lang/String;
{
public com.test19.Test07();
flags: ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
0: aload_0
1: invokespecial #1 // Method java/lang/Object." ":()V
4: return
LineNumberTable:
line 34: 0
CharacterRangeTable:
LocalVariableTable:
Start Length Slot Name Signature
0 5 0 this Lcom/test19/Test07;
public void t(java.lang.String);
flags: ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
0: ldc #2 // String b
2: astore_2
3: new #3 // class java/lang/StringBuilder
6: dup
7: invokespecial #4 // Method java/lang/StringBuilder."":()V
10: ldc #5 // String acb
12: invokevirtual #6 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: aload_1
16: invokevirtual #6 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: invokevirtual #7 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
22: astore_3
23: return
LineNumberTable:
line 63: 0
line 64: 3
line 65: 23
CharacterRangeTable:
0, 2, fc10, fc1a, 1 // 0, 2, 63:16, 63:26, sta tement
3, 22, 1000a, 1001c, 1 // 3, 22, 64:10, 64:28, sta tement
0, 23, f819, 10402, 2 // 0, 23, 62:25, 65:02, blo ck
LocalVariableTable:
Start Length Slot Name Signature
0 24 0 this Lcom/test19/Test07;
0 24 1 d Ljava/lang/String;
3 21 2 str Ljava/lang/String;
23 1 3 s Ljava/lang/String;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.