温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

String中怎么创建一个对象

发布时间:2021-07-28 15:11:34 来源:亿速云 阅读:146 作者:Leah 栏目:大数据

本篇文章给大家分享的是有关String中怎么创建一个对象,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

代码 public class StaticFinalStringTest {

public static void main(String[] args) {
	String a = "x";
	String x = new String("x");
	String q = a + "x";
	String p = a + new String("x");
}

}

javap解析的数据

Compiled from "StaticFinalStringTest.java" public class com.zang.statictest.StaticFinalStringTest { public com.zang.statictest.StaticFinalStringTest(); Code: 0: aload_0 1: invokespecial #8 // Method java/lang/Object."<init>":()V 4: return

public static void main(java.lang.String[]);

  • Code:

  •    0: ldc           #16   常数到操作数栈              // String x


  •    2: astore_1              将引用类型或returnAddress类型值存入局部变量1


  •    3: new           #18        创建类实例         // class java/lang/String


  •    6: dup                    复制栈顶部一个字长内容


  •    7: ldc           #16                 // String x


  •    9: invokespecial #20       调用需要特殊处理的实例方法          // Method java/lang/String."<init>":(Ljava/lang/String;)V


  •   12: astore_2             将引用类型或returnAddress类型值存入局部变量2


  •   13: new           #23     创建类实例              // class java/lang/StringBuilder


  •   16: dup              复制栈顶部一个字长内容


  •   17: aload_1          从局部变量1中装载引用类型值


  •   18: invokestatic  #25         调用命名类中的静态方法        // Method java/lang/String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;


  •   21: invokespecial #29         调用需要特殊处理的实例方法        // Method java/lang/StringBuilder."<init>":(Ljava/lang/String;)V


  •   24: ldc           #16           常数到操作数栈       // String x


  •   26: invokevirtual #30            调度对象的实例方法     // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;


  •   29: invokevirtual #34              调度对象的实例方法    // Method java/lang/StringBuilder.toString:()Ljava/lang/String;


  •   32: astore_3                    将引用类型或returnAddress类型值存入局部变量3


  •   33: new           #23           创建类实例      // class java/lang/StringBuilder


  •   36: dup                           复制栈顶部一个字长内容


  •   37: aload_1                     从局部变量1中装载引用类型值


  •   38: invokestatic  #25             调用命名类中的静态方法    // Method java/lang/String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;


  •   41: invokespecial #29                 调用需要特殊处理的实例方法  // Method java/lang/StringBuilder."<init>":(Ljava/lang/String;)V


  •   44: new           #18               创建类实例   // class java/lang/String


  •   47: dup                          复制栈顶部一个字长内容


  •   48: ldc           #16                常数到操作数栈   // String x


  •   50: invokespecial #20               调用需要特殊处理的实例方法   // Method java/lang/String."<init>":(Ljava/lang/String;)V


  •   53: invokevirtual #30                调度对象的实例方法   // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;


  •   56: invokevirtual #34               调度对象的实例方法    // Method java/lang/StringBuilder.toString:()Ljava/lang/String;


  •   59: astore        4                    将将引用类型或returnAddress类型值存入局部变量


  •   61: return


}

以上就是String中怎么创建一个对象,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI