来看一段代码

public class Test {

String str1 = "51";

String str2 = "manong";

String str3 = str1 + str2;

}

反编译后,通过javap查看

D:\app>javap -c Test

Compiled from "Test.java"

public class Test extends java.lang.Object{

java.lang.String str1;

java.lang.String str2;

java.lang.String str3;

public Test();

Code:

0: aload_0

1: invokespecial #1; //Method java/lang/Object."":()V

4: aload_0

5: ldc #2; //String 51

7: putfield #3; //Field str1:Ljava/lang/String;

10: aload_0

11: ldc #4; //String manong

13: putfield #5; //Field str2:Ljava/lang/String;

16: aload_0

17: new #6; //class java/lang/StringBuilder

20: dup

21: invokespecial #7; //Method java/lang/StringBuilder."":()V

24: aload_0

25: getfield #3; //Field str1:Ljava/lang/String;

28: invokevirtual #8; //Method java/lang/StringBuilder.append:(Ljava/lang/

String;)Ljava/lang/StringBuilder;

31: aload_0

32: getfield #5; //Field str2:Ljava/lang/String;

35: invokevirtual #8; //Method java/lang/StringBuilder.append:(Ljava/lang/

String;)Ljava/lang/StringBuilder;

38: invokevirtual #9; //Method java/lang/StringBuilder.toString:()Ljava/la

ng/String;

41: putfield #10; //Field str3:Ljava/lang/String;

44: return

}

我们可以发现,原来字符串常量在拼接过程中,是将String转成了StringBuilder后,使用其append方法进行处理的。Java中的+对字符串的拼接,其实现原理是使用StringBuilder.append

java字符串怎么拼接字符串_Java中String使用+ 拼接字符串的原理是什么?相关推荐

  1. java new string 图_Java中String直接赋字符串和new String的一些问题

    今天课堂测试做了几道String的练习题,做完直接心态爆炸...... 整理自下面两篇博客: 首先先来看看下面的代码: public classStringTest {public static vo ...

  2. java 包含几个字符_java中如何判断一个字符串包含几个指定字符

    java中如何判断一个字符串包含几个指定字符 可以用String类里的indexOf(String s,int i)方法,这个方法s是字符串div,i是从i下标开始查找该字符串在调用字符串中的位置,返 ...

  3. java里包含怎么算_java中怎么判断一个字符串中包含某个字符或字符串

    展开全部 /*这是一62616964757a686964616fe58685e5aeb931333363393630个静态函数,不用声明对象就可以用的,如你的类名为Test,在任何情况下都可以调用Te ...

  4. java 判断字符串是否包含字母_Java中判断某一字符串是否包含数字、字母和中文...

    importjava.util.regex.Matcher;importjava.util.regex.Pattern;public classStrValidate {//纯数字 private s ...

  5. python 怎么判断字符串是否有换行_JAVA中如何判断一个字符串是否换行

    展开全部 ${rr.right_name} 扩展资料 java控制台程序判断String字符e68a8462616964757a686964616f31333431373263串中只输入了一个回车: ...

  6. java arraylist与数组转换_java中String,数组,ArrayList三者之间的转换

    免费资源网 - https://freexyz.cn/ ArrayList转为String和数组 造一个元素为Integer的ArrayList 为list_int 造一个元素为String 的 Ar ...

  7. java 实现 string类_java 中String类的常用方法总结,带你玩转String类。

    String类: String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.String类对象创建后不能修改,StringBuffer & St ...

  8. 信息: 解析 HTTP 请求 header 错误 java.lang.IllegalArgumentException: 在方法名称中发现无效的字符串, HTTP 方法名必须是有效的符号.

    信息: 解析 HTTP 请求 header 错误 Note: further occurrences of HTTP request parsing errors will be logged at ...

  9. java 字符串 面试_JAVA中String介绍及常见面试题小结

    字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 深刻认识String 1)String为字符串常量:即String对象一旦 ...

最新文章

  1. [改善Java代码]适时选择不同的线程池来实现
  2. 初步学习“C#枚举”
  3. Qt在Windows下的三种编程环境搭建
  4. boost::mp11::mp_reverse_fold_q相关用法的测试程序
  5. Tomcat输出catalina.out的大小控制
  6. Java打卡Day4-算术运算符
  7. 吴恩达神经网络和深度学习-学习笔记-20-训练/开发/测试集划分
  8. 调侃《Head First设计模式》之总结篇
  9. java 拼音_JAVA实现汉字转换为拼音 pinyin4j/JPinyin
  10. PTA-1016——Phone Bills
  11. 消除input标签的自动填充 白色背景,及更改字体颜色
  12. 软件智能:aaas系统 基于本体论的AI通用框架
  13. LVC | 一种简单的小样本目标检测方法
  14. 学校初一模拟赛(2019.4.7)
  15. Centos7在公网使用PCDN拨号
  16. 点击密码框显示密码(点击密码框小眼睛可显示输入密码)
  17. 对批处理、多道操作系统的理解
  18. wordpress建站准备教程(一)域名:域名备案、域名注册、域名绑定、域名解析
  19. 全新同步整流IC助力SMPS应用更简易、更高效
  20. TPMS方案 接收器 STM8L篇

热门文章

  1. php-5.6配置,PHP5.6+apache2.4环境配置
  2. 安卓拍照上传php服务器,Android拍照上传至PHP服务器并写入MySql数据库(下)
  3. oracle,sqlserver,mysql区别
  4. cocos2d-x 是男人就下100层 附源码
  5. 同一个tomcat部署多个项目导致启动失败
  6. 关于权限的数据库设计
  7. PHP新手之学习类与对象(4)
  8. linkin大话面向对象--内部类
  9. eoe·Android 开发门户 - android开发者的必备网站
  10. [活动]《博客园精华集》设计模式分册第2轮筛选结果公示