zoukankan      html  css  js  c++  java
  • java之String类型

    一:定义

    String是复杂类型,是特殊的复杂类型。

    二:创建

    两种创建形式:

    1. String s = "abc";
    2. String s = new String("abc"); 
    • 第一种  String s = "abc";  先在栈中创建一个String类型的引用,然后在常量池中查找有没有“abc”的常量,如果有则返回这个常量的地址给引用s,如果没有则在常量池中创建一个常量“abc”并返回地址给s。

    示例:

    String s0 = "abc"; 
    String s1 = "abc"; 
    System.out.println(s0==s1); //true  s0和s1都是存放的常量池中abc的地址,而常量池abc只有一个所以地址相同。
    
    • 第二种String s = new String("abc"); ,先在栈中创建一个String类型的引用,然后在常量池中查找有没有“abc”的常量,如果没有则在常量池中创建一个常量“abc”,再在堆中创建一个String的对象,存放常量池中的“abc”的地址,最后s指向堆空间的String对象。new几次就有几个String对象生成。

            String a=new String("abc");
    		String b=new String("abc");
    		System.out.println(a==b);
    结果: false

     解:==在比较复杂类型时比较的是地址,而ab中存放的是new出来的引用,所以地址不同。

  • 相关阅读:
    Best Time to Buy and Sell Stock II
    Subsets II
    Subsets I
    Combinations
    Permutation Sequence
    Next Permutation
    Anagrams
    Combination-Sum II
    Combination-Sum I
    Permutations II
  • 原文地址:https://www.cnblogs.com/shyroke/p/6278815.html
Copyright © 2011-2022 走看看