arduino char*转string_Java 中 String 类的常用方法汇总

0f77033b23d35c6334eaec08a4d88bf2.png

一、String 类的概念以及特性

1、String 类的概念

String 类代表字符串,在 java.lang 包中。字符串是常量 ,用双引号引起来表示。 它的值在创建之后不能更改 。由 0 或多个字符组成,可以变相的理解成是一个由字符组成的数组。

2、String 类的特性

部分源码:
public 
由源码得知:
  • String 类由 final 关键字修饰,代表不可变的字符序列 ;
  • String 类实现了序列化、Comparable 接口和 CharSequence 接口;
  • String 对象的字符内容是存储在一个 char 型的数组中。

二、常用方法一

  • int length() 返回此字符串的长度
  • char charAt(int index) 返回 char 指定索引处的值
  • boolean isEmpty() 判断是否是空字符串
  • String toLowerCase() 将 String 中的所有字符转换为小写
  • String toUpperCase() 将 String 中的所有字符转换为大写
  • boolean equalsIgnoreCase(String anotherString) 判断是否相等,忽略大小写
  • boolean equals(Object obj) 比较字符串的内容是否相同
  • String trim() 返回一个字符串,其值为此字符串,并删除任何前导和尾随空格
  • String concat(String str) 将指定的字符串连接到该字符串的末尾
  • String substring(int beginIndex) 返回一个字符串,该字符串是此字符串的子字符串
  • String substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串从 beginIndex 开始截取到 endIndex(不包含)的一个子字符串
  • int compareTo(String anotherString) 按字典顺序比较两个字符串
测试代码:
public 
运行结果:

d3833adb875af3031fa4ca95cff51cc6.png

三、常用方法二

  • boolean contains(CharSequence s) 当且仅当此字符串包含指定的 char 值序列时才返回 true
  • int indexOf(String str) 返回指定子字符串第一次出现的字符串内的索引
  • int indexOf(String str, int fromIndex) 返回指定子串的第一次出现的字符串中的索引,从指定的索引开始
  • int lastIndexOf(String str) 返回指定子字符串最后一次出现的字符串中的索引
  • int lastIndexOf(String str, int fromIndex) 返回指定子字符串的最后一次出现的字符串中的索引,从指定索引开始反向搜索
  • boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开头
  • boolean startsWith(String prefix, int toffset) 测试在指定索引处开始的此字符串的子字符串是否以指定的前缀开头
  • boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结尾
测试代码:
public 
运行结果:

c67bc559d1d5c6511101896040f9c3a8.png

四、常用方法三

  • String replace(char oldChar, char newChar) 字符串替换,返回一个新的字符串
  • String replace(CharSequence target, CharSequence replacement) 将与字面目标序列匹配的字符串的每个子字符串替换为指定的字面替换序列
  • boolean matches(String regex) 告诉这个字符串是否匹配给定的(regular expression)正则表达式
  • String[] split(String regex) 将此字符串按给定的规则分割
测试代码:
public 
运行结果:

e60a58030cf83ae8e0331dfbb2e33eaf.png

五、String 与 StringBuffer、StringBuilder 的区别

通过以上 String 的学习,我们知道 String 的值是不可变的,这就导致每次对 String 的操作都会生成新的 String 对象,不仅效率低下,而且浪费大量优先的内存空间。所以从版本 JDK 5 开始,这个类别已经被一个等级类进行了补充,分别是 StringBuffer 和 StringBuilder。

StringBuffer 和 StringBuilder 都是可变类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象。每个StringBuffer / StringBuilder 对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串大小超过容量时,会自动增加容量。

三者的区别:
  • String 由 final 修饰,是不可变字符序列
  • StringBuffer 可变字符序列,其效率低,但是线程安全
  • StringBuilder 可变字符序列,其效率高,但是线程不安全
知乎视频​www.zhihu.com
以上就是小编对 String 类常用方法的汇总,当然还有很多方法就不在这里给大家陈列了,大家感兴趣可以查看一下 API 进行详细了解。希望能够帮到大家~~~

2dd92f415e8a7d640eb99b470f83f9e8.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

河北体检系统诚信企业推荐_应用多的隔膜计量泵价格诚信企业推荐

应用多的隔膜计量泵价格诚信企业推荐无害化处理:经对标,注意药剂量可以适当降低,能降低药剂量的单位,反之降低。车用齿轮箱定位测量仪与计量泵计量无关,关键在于他们都是直线运动,动力输出的横轴主运动&…

it计算机哪些专业术语,IT之家学院:笔记本电脑专业术语科普

IT之家网友现在为大家整理了一些在笔记本电脑商的专业术语解释,比如触摸屏、触摸板、指纹识别等具体涵义。触摸屏电阻式触摸屏是在强化玻璃表面分别涂上两层OTI 透明氧化金属电层,两层之间用细小的透明隔离点隔开。外层OTI涂层作导电体,内层O…

ideajava目录显示类成员_面试:C++不可继承类

作者:wxquare链接:https://www.cnblogs.com/wxquare/p/7280025.html面试中可能遇到让设计一个无法被继承的类。最简单的实现是将该类的构造函数设置为私有的,然后通过静态成员函数调用私有构造函数实例化对象,这样的类确实不可继承…

c++ 三维数组 初始化_013 JAVA 多维数组及数组的拷贝、冒泡排序、二分法查找...

1.多维数组多维数组的元素又是数组,可以有二维、三维、甚至更多维数组1.1二维数组的声明:数据类型 [][] new 数据类型[一维长度][二维长度]public class Test01 {public static void main(String[] args) {//一维数组的静态初始化 数据类型[] 数组名 …

自考计算机成绩,自考成绩计算机中是什么意思?

你说电脑是什么意思?计算机等级考试有两种,一种是全国高校计算机水平考试(CCT),另一种是全国计算机等级考试(NCRE)。你对这两种测试了解多少?1什么是CCT?CCT的全称是“全国高校计算机水平考试”,让人感觉像…

httpservletrequest 设置请求头_请求和常用对象

## 一、主要内容![](https://raw.githubusercontent.com/Cushier/picture-java/master/middle/20190712150414.png)## 二、核心目标理解几个常用对象的意义和作用掌握几种请求的发出方式掌握数据的发送和接收方式掌握跳转方式掌握乱码的解决## 三、请求的方式要访问服务器首先需…

from mysql partition select_爬虫(九十九)mysql详解二

**mysql中字段的常见类型: **二进制位 bit(长度)tinyint[(长度)] [有无符号unsigned] [位数低于长度时候是否填充零zerofill] 有符号表示范围-128 ~ 127, 无负号表示范围 0 ~ 255; 可用tinyint(1)来模拟boolean类型; *整型中的长度不做限制用, 仅仅做显示用, 即长度大于位数时候…

服务器训练数据 关闭终端,一文明白使用nohup将服务器训练程序后台运行不关闭+随时通过查看训练情况输出与visdom可视化...

使用nohup将训练程序后台不间断运行随时查看训练情况输出与可视化使用服务器进行远程训练由于笔者经常需要使用服务器进行训练,且有些模型训练起来需要很长的时间,如Mask模型,故经常需要长期跑程序。由于我使用的是ssh登录,因此断…

v-for 获取数组key value_Vue之路 | 05von、vif、vfor

点击左上方“熊吱”关注我们吧!1事件监听在开发中,需要监听用户发生的事件,如点击、拖拽、键盘操作等,在Vue中,使用v-on指令绑定事件监听器。v-on的语法糖为:v-on基本操作在下面代码中,使用了v-…

c++输出txt格式循环一组数据后换行再循环一次_numpy、pandas以及用pandas做数据分析的案例...

本文也是秦路老师python教程的学习笔记。这篇也是发给超哥看的:很多人说python很简单很好学,也有很多人说python没有java和c的功能强大。但是这都不重要,重要的是我们想学了,想画图也好做数据分析也罢,想学了就直接开始…

gin context和官方context_Go语言gin框架从入门到精通(3)

gin的渲染1 各种数据格式的响应json、结构体、XML、YAML类似于java的properties、ProtoBuf分别对所有数据格式举个列子func main() {r : gin.Default() ​//1. json响应r.GET("/someJSON", func(c *gin.Context) {c.JSON(200,gin.H{"message":"someJS…

cas .net 重定向循环_接口测试平台接入企业cas(一)

cas系统简介提供运营系统的 SSO 和 access control功能。类似百度的UC。CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。官方网站:https://www.apereo…

虚拟机安装rsync服务器配置,虚拟机安装rsync服务器配置

虚拟机安装rsync服务器配置 内容精选换一换在分布式HA部署场景下,ASCS主备节点通过共享盘实现数据同步。本章节指导用户将ASCS主节点的数据盘绑定给ASCS备节点并为ASCS主备节点绑定浮动IP。已在SAP ASCS主备节点之间进行过相互的SSH跳转操作。绑定共享盘创建浮动IP并…

程序包android.support.annotation不存在_efcore技巧贴也许有你不知道的使用技巧

前言.net 环境近些年也算是稳步发展。在开发的过程中,与数据库打交道是必不可少的。早期的开发者都是DbHelper一撸到底,到现在的各种各样的ORM框架大行其道。孰优孰劣谁也说不清楚,文无第一武无第二说的就是这个理。没有什么最好的&#xff0…

centos系统云服务器,Centos系统怎么进云服务器

Centos系统怎么进云服务器 内容精选换一换CentOS 7.5版本操作系统的弹性云服务器默认关闭SELinux功能。通过/etc/selinux/config开启SELinux功能后,在输入密码时,会出现无法登录的问题。如果业务需要开启SELinux 功能,请参照本节内容进行配置…

applicationproperties不是小叶子_为何“砂糖桔”是带着叶子出售?原来其中有着“猫腻”,涨知识了...

大家好,我是你们的好朋友童童,生活中不止有眼前的苟且,还有诗和梦想。童童每天都给大家分享有趣实用的小知识,有什么意见或者建议都可以和童童交流,喜欢我们的可以关注呦。一起和童童来看看今天的小知识吧。随着春节的…

用android制作一个记事本app_用扁平化呈现一个天气APP

作为当下最火的设计风格之一,扁平化设计其实是一种简约的Ul 设计理念,现被广泛应用于图形用户界面上,在图形材料,例如海报,艺术作品,指导文档,各类出版物等方面尤为常用。今天为大家带来了我最近…

hbase hdfs外部表_硬核干货长文!Hbase来了解一下不?

本文公众号来源:互联网侦察 作者:channingbreeze最近我也在入门大数据相关的基础,这篇文章非常通俗易懂讲解了什么是Hbase,推荐阅读!等我学所成,我也来写写大数据相关的入门知识。今天,小史的…

springboot自动配置的原理_SpringBoot实战:详解SpringBoot自动配置原理

SpringBoot 自动配置主要通过 EnableAutoConfiguration, Conditional, EnableConfigurationProperties 或者 ConfigurationProperties 等几个注解来进行自动配置完成的。EnableAutoConfiguration 开启自动配置,主要作用就是调用 Spring-Core 包里的 loadFactoryName…

PYTHON之路(八)

http://www.cnblogs.com/alex3714/articles/5227251.htmlSocket语法及相关socket概念A network socket is an endpoint of a connection across a computer network. Today, most communication between computers is based on the Internet Protocol; therefore most network …