Java常用类 - String类详解

2023-05-16

Java常用类——String类

  • 创建字符串:每个双引号括起来的字符串常量都是String类的一个实例;也可以new。

  • 连接字符串:”+“;string1.concat(string2)。

    public class Demo01 {
        public static void main(String[] args) {
            String s1 = "abc";
            String s2 = new String("abc");
            // + 两边只要有一个是字符串,即作为字符串连接符
            String s3 = "abc" + 123;
            String s4 = 23 + "12";
            String s5 = "ano";
    
            System.out.println(s3); //abc123
            System.out.println(s4); //2312
            System.out.println(s5.concat(s1)); //anoabc
        }
    }
    
  • String类和常量池

    常量池中存放的内容是在类加载完成后存到String Pool中的,在每个JVM中只有一份,存放的是字符串常量的引用值(在堆中生成字符串对象实例)。

    public class Demo02 {
        public static void main(String[] args) {
            String a1 = "hello";
            String a2 = "hello";
            String a3 = new String("hello");
            System.out.println(a1 == a2);  //true
            System.out.println(a1 == a3);  //false
        }
    }
    
  • String类是不可变对象。位于java.lang包中。

    String类对象代表不可变的Unicode字符串序列,因此String对象是不可变对象。字符串内容全部存储在value[]中,而变量value是final类型的。

  • String subString(beginIndex, endIndex); 截取完后返回一个新的字符串。

  • String字符串内容的比较用boolean equals()。

    public class Demo03 {
        public static void main(String[] args) {
            String b1 = "good luck";
            String b2 = "good" + " luck";
            System.out.println(b1 == b2); //true
    
            String b3 = "good";
            String b4 = " luck";
            String b5 = b3 + b4;
            System.out.println(b1 == b5); //false
            System.out.println(b1.equals(b5)); // true
        }
    }
    
  • String类的常用方法

方法说明
char charAt(int index)返回字符串处第index处的 char 值
boolean equals(String other)判断字符串内容是否相等
boolean equalsIgonreCase(String other)判断字符串内容是否相等(忽视大小写)
int indexOf(String str)返回指定子字符串在此字符串中第一次出现处的索引
int lastIndexOf(String str)返回指定子字符串在此字符串中最右边出现处的索引
int length()返回此字符串的长度
String replace (char oldChar, char newChar)返回一个新的字符串,通过用 newChar 替换此字符串中出现的所有 oldChar 得到
boolean startsWith(String prefix)测试此字符串是否以指定的前缀开始
boolean endsWith(String suffix)测试此字符串是否以指定的后缀结束
String subString(int beginIndex)返回一个新的字符串,从beginIndex到最后
String subString(int beginIndex, int endIndex)返回一个新的字符串,从beginIndex到endIndex-1的
String toLowerCase()返回一个新的字符串,将此 String 中的所有字符都转换为小写
String toUpperCase()返回一个新的字符串,将此 String 中的所有字符都转换为大写
String trim()返回字符串的副本,忽略前导空白和尾部空白
public class Demo04 {
    public static void main(String[] args) {
        String s1 = "Hello Ano";
        String s2 = "hello ano";
        String s3 = " Hello AnoBabe  ";
        System.out.println(s1.charAt(4)); //o

        System.out.println(s1.equals(s2)); //false
        System.out.println(s1.equalsIgnoreCase(s2)); //true

        System.out.println(s1.indexOf("An"));  //6
        System.out.println(s1.indexOf("an"));  //不存在返回-1
        System.out.println(s1.lastIndexOf("Ano")); //6

        System.out.println(s1.length());  //9

        System.out.println(s1.replace("Ano", "Babe"));  //Hello Babe

        System.out.println(s1.startsWith("H"));
        System.out.println(s1.endsWith("no"));

        System.out.println(s1.substring(1,4)); //ell
        System.out.println(s1.toLowerCase()); //hello ano
        System.out.println(s2.toUpperCase()); //HELLO ANO

        System.out.println(s3.trim());
        System.out.println(s3);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java常用类 - String类详解 的相关文章

  • 一起自学SLAM算法:第12章-典型自主导航系统

    连载文章 xff0c 长期更新 xff0c 欢迎关注 xff1a 写在前面 第1章 ROS入门必备知识 第2章 C 43 43 编程范式 第3章 OpenCV图像处理 第4章 机器人传感器 第5章 机器人主机 第6章 机器人底盘 第7章 S
  • 一起自学SLAM算法:第13章-机器人SLAM导航综合实战

    连载文章 xff0c 长期更新 xff0c 欢迎关注 xff1a 写在前面 第1章 ROS入门必备知识 第2章 C 43 43 编程范式 第3章 OpenCV图像处理 第4章 机器人传感器 第5章 机器人主机 第6章 机器人底盘 第7章 S
  • 一起自学SLAM算法:13.4 基于自主导航的应用

    连载文章 xff0c 长期更新 xff0c 欢迎关注 xff1a 写在前面 第1章 ROS入门必备知识 第2章 C 43 43 编程范式 第3章 OpenCV图像处理 第4章 机器人传感器 第5章 机器人主机 第6章 机器人底盘 第7章 S
  • 在ubuntu18.04中安装opencv_contrib-3.2.0闭坑记录

    由于最近要在OpenCV3中使用SIFT和SURF特征提取 xff0c 而自从OpenCV2升级到OpenCV3版本后 xff0c SIFT SURF等这些算法都被移出opencv默认项目库 xff0c 而被放到叫opencv contri
  • 在ROS中使用超声波(sonar)导航避障

    1 下载sonar layer的代码 https github com DLu navigation layers 实际只需要其中的range sensor layer放到工作空间catkin make 实验时放置于src中 xff0c 可
  • rtabmap更加适合视觉SLAM建图和导航

    slam问题目前主要集中在如何建立一个好的地图 xff0c 至于后续如何使用地图这部分工作研究的不多 xff0c 不过我个人恰好在做这部分工作所以答一下个人见解 首先 xff0c 有一张好的地图 xff0c 是导航或地图语义分析等应用的前提
  • Git应用详解第十讲:Git子库:submodule与subtree

    https www cnblogs com AhuntSun blog p 12736934 html 前言 前情提要 xff1a Git应用详解第九讲 xff1a Git cherry pick与Git rebase 一个中大型项目往往会
  • 单片机串口通信程序

    本文总结了两种比较简单的关于串口发送接收的程序 xff0c 以下是步骤 xff1a 定义数据 xff1a unsigned char idata URX 10 61 0 串口接收数组 unsigned char idata URX Num
  • Linux当中的压栈和出栈指令以及跳转指令详细教程

    1 跳压栈出栈指令 xff1a 我们通常会在 A 函数中调用 B 函数 xff0c 当 B 函数执行完以后再回到 A 函数继续执行 要想 再跳回 A 函数以后代码能够接着正常运行 xff0c 那就必须在跳到 B 函数之前将当前处理器状态保存
  • MySQL5.7版本在Ubuntu(WSL环境)系统安装

    课程中配置的WSL环境是最新的Ubuntu22 04版本 xff0c 这个版本的软件商店内置的MySQL是8 0版本 所以我们需要额外的步骤才可以安装5 7版本的MySQL 安装操作需root权限 xff0c 你可以 xff1a 通过 su
  • 动态库静态库的区别

    1 制作过程 静态库 xff1a 生成 o文件后 ar rcs o libxxx a 动态库 xff1a 生成 o文件时 xff0c 静态库是 c选项 xff0c 而动态库是 fpic FPIC xff0c 因为动态库需要生成与位置无关的代
  • 怎么把PWM信号转为模拟量

    有一个测量位置变化的位置传感器 xff0c 用万用表电压档测量传感器的输出信号 xff0c 结果显示的是模拟量信号 xff0c 即位置和信号输出大小呈线性关系 但是 xff0c 用示波器 xff08 Picoscope 4227 xff09
  • STM32环形串口队列程序 大数据串口收发 实时不丢包 串口程序平常产品开发中编写或移植的程序并亲自测试通过,均为工程文件格式,可直接编译使用

    STM32环形串口队列程序 大数据串口收发 实时不丢包 串口程序平常产品开发中编写或移植的程序并亲自测试通过 xff0c 均为工程文件格式 xff0c 可直接编译使用 该程序为大数据量吞吐的串口收发例程 xff0c 中断接收 xff0c 边
  • C语言中的函数返回值、return用法、return 0详解

    1 函数返回值 定义 xff1a 函数的返回值是指函数被调用之后 xff0c 执行函数体中的代码所得到的结果 xff0c 这个结果通过return语句返回 没有返回值的函数为空类型 xff0c 用void表示 一旦函数的返回值类型被定义为
  • TCP协议

    TCP xff08 Transmission Control Protocol xff09 是面向连接的可靠的通讯协议 TCP需要经过三次握手建立连接 xff0c 并在断开时通过四次挥手释放连接 TCP通过应答确认 超时重传 xff08 R
  • UART&RS232&RS485的区别

    UART RS232 RS485在串口通信中 xff0c 主要区别是电平的不同 xff0c 其中UART通常使用TTL电平 TTL TTL全名是晶体管 晶体管逻辑集成电路 Transistor Transistor Logic 输入高电平最
  • 思岚雷达rplidar S1配置调试全纪录

    耗时10天 xff0c 终于从零开始用QT在Ubuntu系统下完成了一个雷达避障系统的设计 xff0c 这文章的主要目的是将配置的流程和遇到的问题记录下来 xff0c 以供自己以后遇到一样的问题时可以有个参考 一 思岚雷达的配置 1 配置的
  • 学习 C++ 到底有什么好处?

    学C 43 43 本身是教不会你编程的 你需要主动的 不断的扩展自己的知识领域 写一个学生管理系统是一个很好的开端 xff1b 但接下来 xff0c 你还需要学习更多 举例来说 xff0c 图形界面 究竟是怎么一回事呢 xff1f 我们知道
  • c++中的二分查找算法

    二分查找普通模式 模板公式 xff1a while l lt 61 r mid 61 l 43 r 2 l 61 mid 43 1 else r 61 mid 1 二分查找特殊情况1 xff1a 000011111求第一个1 while l
  • liunx使用math.h头文件报错解决办法

    在liunx操作系统中 xff0c 编译的时候用到了math h或cmath头文件时 xff0c 一定要主动连接静态库 比如在vim中 xff0c 给编译的文件名后加 lm 否则会报错误

随机推荐

  • 基于AlexNet卷积神经网络的手写体数字倾斜校正系统研究-附Matlab代码

    目 录 一 引言 二 AlexNet 网络 三 实验验证 3 1 实验数据集 3 2 数据训练 3 3 手写体倾斜数字校正结果 四 参考文献 五 Matlab代码获取 一 引言 手写体数字识别是光学字符识别 Optical Characte
  • Jetson Nano 4GB 要怎么供电? Jetson Nano 2GB呢?

    Jetson Nano 4GB 常使用的电源连接方式有两种 xff1a 1 DC Power Jack 5 5 2 1mm 5V 4A xff0c 需使用跳帽将脚位 J48 短路 图一红框处 xff0c 电源连接方式请参照图一蓝框处 若一切
  • 毕业设计 基于单片机的导盲拐杖设计(源码+硬件+论文)

    文章目录 0 前言1 主要功能2 硬件设计 原理图 3 核心软件设计4 实现效果5 最后 0 前言 x1f525 这两年开始毕业设计和毕业答辩的要求和难度不断提升 xff0c 传统的毕设题目缺少创新和亮点 xff0c 往往达不到毕业答辩的要
  • 毕业设计 基于stm32与openmv的目标跟踪系统

    文章目录 0 前言课题简介设计框架3 硬件设计4 软件设计 对被测物体的识别 判断被测物体所在区域 5 最后 0 前言 x1f525 这两年开始毕业设计和毕业答辩的要求和难度不断提升 xff0c 传统的毕设题目缺少创新和亮点 xff0c 往
  • Qt中的TCP通信

    一 TCP的特点 TCP xff08 传输控制协议 xff09 是一种面向连接的 xff0c 可靠的 xff0c 基于字节流的传输层通信协议 二 TCP适合应用的场景 TCP协议适用于要求可靠传输的应用 xff0c 例如文件传输 xff0c
  • SQL常用语句大全

    我们在进行开发工作时 xff0c 对数据库的操作是必不可少的 xff0c 熟练掌握SQL语句可以让我们对数据库的数据处理变得非常简单 xff0c 所以学习SQL语句是非常有必要的 xff0c 下面汇总了一些常用的SQL语句 SQL语句的类型
  • VS配置Qt环境

    前言 Qt程序的开发不仅可以使用原生的Qt Creator xff0c 也可以使用Visual Studio 想使用VS进行Qt程序的开发 xff0c 需要安装Qt的插件 xff0c 下面看详细步骤 下载Qt的插件 地址 xff1a htt
  • STM32官方标准固件库开发与寄存器开发的区别

    一句话概括关系 xff1a 固件库就是函数的集合 xff0c 固件库函数的作用就是 xff1a 向下负责与寄存器直接打交道 xff0c 向上提供用户函数调用的接口 xff08 API xff09 对于STM32这种级别的MCU xff0c
  • CMake获取目录下所有源文件

    1 aux source directory指令 aux source directory lt dir gt lt variable gt 比如 xff1a aux source directory CMAKE CURRENT SOURC
  • Qt制作视频播放器

    前言 该播放器参考了SMPlayer xff0c 实现了其基础功能 xff0c 许多高级功能暂未实现 软件的实现基于Qt xff0c opencv xff0c 多线程以及数据库等相关知识 功能概述 支持本地音视频在线播放 xff0c url
  • Qt中QString与String的互相转换

    前言 Qt中的一些类型是Qt自己封装的 xff0c 例如我们平常常见的String在Qt中就是QString xff0c 但是有时我们调用第三方库时 xff0c 参数要求是String xff0c 这时我们就需要把QString转换成Str
  • Mat与QImage互相转换

    前言 Mat是opencv中的存储图像的容器 xff0c 也是图像像素矩阵 QImage是Qt中存储图片常用的类 Qt和opencv经常配合在一起使用 xff0c 但Qt的函数方法的参数是不接受Mat的 xff0c 所以如果我们想要在Qt中
  • CentOS7下安装libevent

    前言 CentOS7下安装libevent网络库 步骤 创建一个文件夹libevent xff08 方便后期维护管理 xff09 mkdir libevent 官网下载源码包 可以在本机下载然后文件传输 xff0c 也可以直接在linux下
  • Libevent源码深度剖析-张亮(转载)

    https blog csdn net xp178171640 article details 105490027
  • Qt6.4.3编译MySQL驱动

    前段时间电脑坏了重装了操作系统 软件都不能正常运行 大部分都得重装 本来用的Qt5 14 2 想着Qt都出6了 那就用用Qt6吧 Qt6想用mysql数据库也是得自己编译驱动的 但Qt6也是想推广CMake 所以我以前Qt5那一套编译mys
  • keil5中如何在一个项目中新建源文件

    哈喽哈喽 xff0c 昨天在学习如何点灯的时候接触到可以在一个已经建立好的项目中 xff0c 建立一个新的源文件写一个新的代码 这里就总结一下 点开file选择new xff0c 就会发现右边多个栏就说明源文件多了一个 xff0c 这个时候
  • 【Python数据分析】Python模拟登录(一) requests.Session应用

    最近由于某些原因 xff0c 需要用到Python模拟登录网站 xff0c 但是以前对这块并不了解 xff0c 而且目标网站的登录方法较为复杂 xff0c 所以一下卡在这里了 xff0c 于是我决定从简单的模拟开始 xff0c 逐渐深入地研
  • 【VSCode】C++环境配置(小白必看)

    关于VSCode的c 43 43 环境配置 网上教程很多 xff0c 但大多是入门的新手小白难以理解 xff0c 操作不来的 xff0c 作者本人也是捣鼓了很久才配置好c 43 43 运行环境 本篇文章会从头到尾简述 一下vscode配置c
  • at89c51单片机设计的智能空调系统 制冷制热加湿除湿四个工作模式 按键和手机App遥控两种控制方式

    at89c51单片机设计的智能空调系统 制冷制热加湿除湿四个工作模式 按键和手机App遥控两种控制方式 半导体制冷片模拟除湿制冷 超声波雾化模块加湿 温湿度传感器检查环境温湿度 LCD液晶屏显示系统工作状态 全套包括实物成品 xff0c 原
  • Java常用类 - String类详解

    Java常用类 String类 创建字符串 xff1a 每个双引号括起来的字符串常量都是String类的一个实例 xff1b 也可以new 连接字符串 xff1a 43 xff1b string1 concat string2 span c