Java基础--常用类(Ⅱ)

Java基础–数组和面向对象(Ⅰ)
Java基础–面向对象(Ⅱ)
Java基础–面向对象(Ⅲ)
Java基础–面向对象(Ⅳ)
Java基础–面向对象(Ⅴ)
Java基础–面向对象(Ⅵ)、常用类(Ⅰ)

在这里插入图片描述

常用类

String类

  • String类: 后端 ,字符串的功能是最频繁的
  • String类: 代表字符串,字符串是一个常量,一旦被创建,其值不改变(地址不变,除非重新赋值)
1.常用的String类的构造方法
  • public String() :空参构造

  • public String(char[] value):将字符数组构造出字符串 (如果已知字符数组char[],----构造方法—String) (重点)

  • public String(char[] value,int index,int length):将一部分字符数组转换成字符串

  • public String(byte[] bytes) :将字节数组构造字符串 (如果已知字节数组byte[]-----String) (重点)

  • public String(String original):将一个字符串值存储进去,构造成一个字符串对象

  • 补充:

    数组中有没有length()?字符串String类中有没有length()/集合中有没有length()方法?

    •      数组没有length(),只有length属性
      
    •      String的length():获取字符串长度
      
    •      集合没有, size():获取集合长度
      
  • String s1 = “hello” ;

    String s2 = new String(“hello”);
    他们分别创建了几个对象,有什么区别呢?

    • s1: 现在常量池中,是否存在这个常量,如果存在,直接返回地址值;否则,开辟新的空间地址值,赋值s1
    • s2:在堆内存中申请空间,然后常量"hello",
    • 还需要在常量池中找是否存在这个常量,有,就返回地址,重新开辟常量池空间
    • 共同点:都表示创建"hello"字符串实例
2.字符串值相加
  • 字符串变量相加:

    • 常量池是否存在
      • 不存在,开空间
  • 字符串常量相加:

    • 先拼接,在常量池中找,有 ---- > 返回地址
    • 否则,开辟空间
  public static void main(String[] args) {

        String s1 = "hello" ;
        String s2 = "world" ;
        String s3 = "helloworld" ;

        System.out.println(s3 == (s1+s2));  //false
        System.out.println(s3.equals(s1+s2));//true
        System.out.println("--------------------------------------");
        System.out.println(s3 == "hello"+"world") ; //true
        System.out.println(s3.equals("hello"+"world")) ;//true
    }
3.String类型
  • String类型作为方法,形式参数的特点

  • String类作为引用类型,当成为方法的形式参数,和基本类型的效果一致:

  •   形式参数的改变,不影响实际参数
    
  • String是最为特殊的一种引用类型, 其他的引用类型,都是形式参数改变直接影响实际参数!比如StringBuffer
  •   StringBuffer sb = "helloworld" 
    

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论

打赏作者

In-Deep

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值