Java的String类

认识String类

在Java中 String 是属于引用数据类型,用 String 类创建的变量不会存储字符串本身,而是存放字符串所在的地址
String 类的内容是使用用 “ ”引用的,其" " 里的内容是属于常量
String 类是在 java.lang 包底下,里面包含了字符串的值和实现字符串相关操作的一些方法
String 类是不能被继承的,因为它是被 final 所修饰

在 String 类的源码里一个对象都有二个成员变量,分别是:value[ ]hash
value[ ] 是一个数组类型

在这里插入图片描述

String类常用方法

String 类 提供的构造方法非常多,但常用的就下面三种:

public static void main(String[] args) {
   
        // 使用常量字符串创建
        String n = "hello";
        System.out.println(n);

        // 直接newString对象
        String n2 = new String("abc");
        System.out.println(n2);

        //使用字符数组进行构造
        char[] arr = {
   'c','h','i','n','a'};
        String n3 = new String(arr);//把字符数组装化成字符串
        System.out.println(n3);
    }

在 Java 求字符串长度是使用对象 . length()
例如:

 System.out.println(n.length());
 System.out.println("hello".length());

字符串对象的比较

字符串是属于引用类型,不能使用 == 来判断是否相等
例如:

public static void main(String[] args) {
   
       // 对于基本类型,可以使用 == 来判断二个变量是否相等
        int a = 10;
        int b = 10;
        System.out.println(a == b);  

        // 对于引用类型变量,是不能使用 == 比较两个引用变量,它们比较的是地址,不是内容
        String array1 = new String("hello");
        String array2 = new String("hello");
        String n = new String("world");
        n = array1;

        System.out.println(array1 == array2);
        System.out.println(n == array1);

  }

结果:
在这里插入图片描述

字符串比较是否相等:

比较相等是使用 equals 来比较内容
String类里重写了父类Object中equals方法,Object中的 equals默认按照==比较
String重写equals方法后,按照内容进行比较

public static void main(String[] args) {
   
      String array1 = new String("hello");
      String array2 = new String("hello");
      System.out.println(array1.equals(array2));
 } 
字符串比较大小

比较二个字符串的大小使用的是compareTo
compareTo 的返回值是整数,需要用整形变量来接收
返回大于1 的数字代表 变量1 大于 变量2
返回0 代表 二个字符串相等
返回小于0 代表 变量1 小于 变量2
例如:

public static void main(String[] args) {
   
        String s1 = new String("hello");
        String s2 = new String("hello");
        int ret = s1.
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值