2023.8 - java - String类

这篇具有很好参考价值的文章主要介绍了2023.8 - java - String类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。

String str = "Runoob";

在代码中遇到字符串常量时,这里的值是 "Runoob",编译器会使用该值创建一个 String 对象。

和其它对象一样,可以使用关键字和构造方法来创建 String 对象。

用构造函数创建字符串:

String str2=new String("Runoob");

String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上

String s1 = "Runoob";              // String 直接创建
String s2 = "Runoob";              // String 直接创建
String s3 = s1;                    // 相同引用
String s4 = new String("Runoob");   // String 对象创建
String s5 = new String("Runoob");   // String 对象创建

String 类有 11 种构造方法,这些方法提供不同的参数来初始化字符串,比如提供一个字符数组参数: 

public class StringDemo{
   public static void main(String args[]){
      char[] helloArray = { 'r', 'u', 'n', 'o', 'o', 'b'};
      String helloString = new String(helloArray);  
      System.out.println( helloString );
   }
}

以上实例编译运行结果如下:

runoob

字符串长度

用于获取有关对象的信息的方法称为访问器方法。

String 类的一个访问器方法是 length() 方法,它返回字符串对象包含的字符数。

连接字符串

String 类提供了连接两个字符串的方法:concat;更常用的是使用'+'操作符来连接字符串

String equals() 方法

equals() 方法用于将字符串与指定的对象比较。

String 类中重写了 equals() 方法用于比较两个字符串的内容是否相等。

  • anObject -- 与字符串进行比较的对象。

public class Test {
    public static void main(String args[]) {
        String Str1 = new String("runoob");
        String Str2 = Str1;
        String Str3 = new String("runoob");
        boolean retVal;

        retVal = Str1.equals( Str2 );
        System.out.println("返回值 = " + retVal );

        retVal = Str1.equals( Str3 );
        System.out.println("返回值 = " + retVal );
    }
}

返回值 = true
返回值 = true

使用 == 和 equals() 比较字符串。

String 中 == 比较引用地址是否相同,equals() 比较字符串的内容是否相同:

String s1 = "Hello";              // String 直接创建
String s2 = "Hello";              // String 直接创建
String s3 = s1;                   // 相同引用
String s4 = new String("Hello");  // String 对象创建
String s5 = new String("Hello");  // String 对象创建
 
s1 == s1;         // true, 相同引用
s1 == s2;         // true, s1 和 s2 都在公共池中,引用相同
s1 == s3;         // true, s3 与 s1 引用相同
s1 == s4;         // false, 不同引用地址
s4 == s5;         // false, 堆中不同引用地址
 
s1.equals(s3);    // true, 相同内容
s1.equals(s4);    // true, 相同内容
s4.equals(s5);    // true, 相同内容

2023.8 - java - String类,2023-java,java,开发语言

String isEmpty() 方法 :

isEmpty() 方法用于判断字符串是否为空。字符串通过 length() 方法计算字符串长度,如果返回 0,即为空字符串。

public class Main {
    public static void main(String[] args) {
        String myStr1 = "Runoob";  
        String myStr2 = "";        // 空字符串
        String myStr3 = "    ";    // 多个空格,length() 不为 0 
        System.out.println("myStr1 是否为空:" + myStr1.isEmpty());
        System.out.println("myStr2 是否为空:" + myStr2.isEmpty());
        System.out.println("myStr3 长度:" + myStr3.length());
        System.out.println("myStr3 是否为空:" + myStr3.isEmpty());
    }
}

myStr1 是否为空:false
myStr2 是否为空:true
myStr3 长度:4
myStr3 是否为空:false

compareTo() 方法:

compareTo() 方法用于两种方式的比较:

  • 字符串与对象进行比较。
  • 按字典顺序比较两个字符串。
  • int compareTo(Object o)
     
    或
     
    int compareTo(String anotherString)

参数

  • o -- 要比较的对象。

  • anotherString -- 要比较的字符串。

返回值

返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的长度差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方结束。

  • 如果参数字符串等于此字符串,则返回值 0;
  • 如果此字符串小于字符串参数,则返回一个小于 0 的值;
  • 如果此字符串大于字符串参数,则返回一个大于 0 的值。
  • 说明:

    如果第一个字符和参数的第一个字符不等,结束比较,返回第一个字符的ASCII码差值。

    如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至不等为止,返回该字符的ASCII码差值。 如果两个字符串不一样长,可对应字符又完全一样,则返回两个字符串的长度差值。

    public class Test {
     
        public static void main(String args[]) {
            String str1 = "Strings";
            String str2 = "Strings";
            String str3 = "Strings123";
     
            int result = str1.compareTo( str2 );
            System.out.println(result);
          
            result = str2.compareTo( str3 );
            System.out.println(result);
         
            result = str3.compareTo( str1 );
            System.out.println(result);
        }
    }
    
    
    0
    -3
    3
    

        

 String s1 = "Hello";

 String s2 = "Fello";
  
 output : 2;
 

String indexOf() 方法:

indexOf() 方法有以下四种形式:

  • public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

  • public int indexOf(int ch, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

  • int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。

  • int indexOf(String str, int fromIndex): 返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1;

  •         ======>        

  • ch -- 字符,Unicode 编码。

  • fromIndex -- 开始搜索的索引位置,第一个字符是 0 ,第二个是 1 ,以此类推。

  • str -- 要搜索的子字符串。

 文章来源地址https://www.toymoban.com/news/detail-664418.html

到了这里,关于2023.8 - java - String类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【2023.8】docker一键部署wvp-GB28181-pro和ZLMediaKit过程全记录

    使用的操作系统是ubuntu20.04 如何在 Ubuntu 20.04 上安装和使用 Docker Docker快速入门(ubuntu) docker一键运行ZLMediaKIt和wvp-GB28181-pro 如上命令 创建了wvp容器 并启动了wvp容器 浏览器输入自己的 ip:18080 默认账号密码: 账号:admin 密码:admin 或者 admin123 先查询所有容器 找到wvp那个容器的

    2024年02月11日
    浏览(40)
  • 2023.8各大浏览器11家对比:Edge/Chrome/Opera/Firefox/Tor/Vivaldi/Brave,安全性,速度,体积,内存占用

    测试环境:全默认设置的情况下,均在全新的系统上进行测试,系统并未进行任何改动,没有杀毒软件,浏览器进程全部在后台,且为小窗模式,小窗分辨率均为浏览器厂商默认缩放大小(变量不唯一),浏览器中没有网页,均在新标签页停留,表格列出均为默认设置,排除插

    2024年02月11日
    浏览(50)
  • java开发中常见的String对象

    String对象加载场内存方式有两种,一种是直接使用“”号创建的加载内存时会会把该字符串直接加载到字符常量中去,并且后文中出现相同使用“”号定义的常量时不会再在内存中创建直接使用第一次创建的字符串,另一种直接使用构造器创建的会创建出一个新的字符串,

    2024年02月11日
    浏览(41)
  • 【蓝桥杯备赛Java组】语言基础|竞赛常用库函数|输入输出|String的使用|常见的数学方法|大小写转换

    🎥 个人主页:深鱼~ 🔥收录专栏:蓝桥杯 🌄欢迎 👍点赞✍评论⭐收藏 目录 一、编程基础 1.1 Java类的创建  1.2 Java方法  1.3 输入输出  1.4 String的使用 二、竞赛常用库函数 1.常见的数学方法 2.大小写转换 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,

    2024年01月21日
    浏览(75)
  • VScode下配置Go语言开发环境【2023最新】

    本文主要记录了 Go 的安装,以及给 vscode 配置 Go 的环境。 截图比较多所以显得文章比较长。如有错误欢迎指出~ 系统:Windows 10 go:1.20.6 vscode:June 2023 (version 1.80) 下载链接:Go下载 下载和系统对应的版本,我是 windows 所以选择了下图的这个。选的是最新的稳定版本 go1.20.6:

    2024年02月15日
    浏览(60)
  • 【蓝桥杯备赛Java组】第一章·语言基础|竞赛常用库函数|输入输出|String的使用|常见的数学方法|大小写转换

    🎥 个人主页:深鱼~ 🔥收录专栏:蓝桥杯 🌄欢迎 👍点赞✍评论⭐收藏 目录 一、编程基础 1.1 Java类的创建  1.2 Java方法  1.3 输入输出  1.4 String的使用 二、竞赛常用库函数 1.常见的数学方法 2.大小写转换 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,

    2024年01月19日
    浏览(79)
  • Go语言集成开发环境(IDE):GoLand 2023中文

    GoLand 2023是一款由JetBrains开发的现代化、功能丰富的Go语言集成开发环境(IDE) 。它提供了智能代码提示和自动完成、强大的内置调试器以及代码重构工具,帮助开发者提高编码效率并确保代码质量。GoLand 2023还支持多种版本控制系统,集成了测试工具,并提供了代码审查功能

    2024年02月06日
    浏览(53)
  • 2023 Google 开发者大会:将大型语言模型部署到你的手机

    在2022年末,不到半年时间,各家大语言模型的发展如雨后春笋,截至2023年9月,全球总共有接近100个大语言模型,可谓是百花齐放 显而易见,大语言模型凭借出色的AI对话能力,已经逐渐深入各个行业 2023 Google 开发者大会带来了 AI 专题,Google 技术推广工程师魏巍提出 “将大

    2024年02月07日
    浏览(46)
  • 解决VSCODE中java开发,终端乱码(2023年3月)

    操作系统:windows10 powershell版本:PowerShell 7.3.3 VSCODE版本信息: 版本: 1.76.2 (user setup) 提交: ee2b180d582a7f601fa6ecfdad8d9fd269ab1884 日期: 2023-03-14T17:55:54.936Z Electron: 19.1.11 Chromium: 102.0.5005.196 Node.js: 16.14.2 V8: 10.2.154.26-electron.0 OS: Windows_NT x64 10.0.19045 沙盒化: Yes ‍ springboot2.3.4 使用JDK1.8编译

    2024年02月08日
    浏览(39)
  • 华为OD机试真题目录汇总(C语言、C++、Java、Python、JS五种语言解法)2023 B卷

    本文是2024华为OD机试真题(C C++ Java Py JS) B卷 专栏的目录贴(定期更新华为OD各个时间阶段的机试真题,每日定时更新,本专栏每篇的文章都会将使用C语言、C++、Python、Java、JS五种语言进行更新解答,包含真题,思路分析,代码参考,每个题目的思路分析都非常详细,超过百字

    2024年02月13日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包