string 包含_一文搞懂String常见面试题,从基础到实战,到原理分析和源码解析...

6d76b94bbade825d3396ade509da72b3.png

01 string基础

1.1 Java String 类

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

1.2 创建字符串

创建字符串最简单的方式如下:

String greeting = "菜鸟教程";

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

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

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

1.3 StringDemo.java 文件代码:

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 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了(详看笔记部分解析)。

如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。

02 String基本用法

2.1 创建String对象的常用方法

(1)String s1 = "mpptest"

(2) String s2 = new String();

(3) String s3 = new String("mpptest")

2.2 String中常用的方法,用法如图所示

3c507bd73675884ece97938bebb5d117.png

2.3 三个方法的使用: lenth() substring() charAt()

package com.mpp.string; public class StringDemo1 {  public static void main(String[] args) { //定义一个字符串"晚来天欲雪 能饮一杯无" String str = "晚来天欲雪 能饮一杯无"; System.out.println("字符串的长度是:"+str.length()); //字符串的雪字打印输出 charAt(int index) System.out.println(str.charAt(4)); //取出子串 天欲 System.out.println(str.substring(2)); //取出从index2开始直到最后的子串,包含2 System.out.println(str.substring(2,4)); //取出index从2到4的子串,包含2不包含4 顾头不顾尾 }}

两个方法的使用,求字符或子串第一次/最后一次在字符串中出现的位置: indexOf() lastIndexOf()

package com.mpp.string; public class StringDemo2 { public static void main(String[] args) { String str = new String("赵客缦胡缨 吴钩胡缨霜雪明"); //查找胡在字符串中第一次出现的位置 System.out.println(""胡"在字符串中第一次出现的位置:"+str.indexOf("胡")); //查找子串"胡缨"在字符串中第一次出现的位置 System.out.println(""胡缨"在字符串中第一次出现的位置"+str.indexOf("胡缨")); //查找胡在字符串中最后一次次出现的位置 System.out.println(str.lastIndexOf("胡")); //查找子串"胡缨"在字符串中最后一次出现的位置 System.out.println(str.lastIndexOf("胡缨")); //从indexof为5的位置,找第一次出现的"吴" System.out.println(str.indexOf("吴

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

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

相关文章

RPN网络在图像处理中的应用

RPN(Region Proposal Network,区域建议网络)是深度学习中用于目标检测的关键组件之一,它通常与后续的目标检测网络(如Fast R-CNN、Faster R-CNN等)结合使用。RPN的主要作用是生成候选目标区域,从…

pythonwhile爬虫教程_Python 爬虫从入门到进阶之路(十一)

之前的文章我们介绍了一下 Xpath 模块,接下来我们就利用 Xpath 模块爬取《糗事百科》的糗事。之前我们已经利用 re 模块爬取过一次糗百,我们只需要在其基础上做一些修改就可以了,为了保证项目的完整性,我们重新再来一遍。我们通过…

阿联酋esma认证怎么做_百度爱采购企业认证是怎么做的?这些你要知道!

入驻百度爱采购的企业可以获得认证标识,这个标识是企业品牌树立的重要表现,在产品展示页面和百度首页搜索企业名称都有企业信息的醒目展示,并且可以直接跳转到企业店铺,为企业带来流量的同时,还能进行品牌的宣传。百度…

人脸离线识别模块_人脸消费机离线刷脸如何实现?

随着越来越多刷卡刷脸一卡通的设备出现。大家在享受一卡通的便利的同时。也在考虑人脸消费机的基本功能和安全属性,人脸消费机,是指人脸在消费访客管理方面的相关。在人脸刷脸进行消费的时候是一下几个阶段1.人脸特征提取首先得先让人脸消费机看到你的脸…

junit版本_Junit-jupiter-api 和 junit-jupiter-engine 的区别是什么

我们都知道 JUnit 是用于进行单元测试的。但是 Junit 5 和 Junit 4 的区别比较大。 很多时候你可能会遇到 Junit 引擎配置错误导致测试无法进行。junit-jupiter-api JUnit 5 Jupiter API 的测试,你需要使用这个 API 来写测试和进行扩展。junit-jupiter-engine JUnit…

mysql数据库基础简介_MySql数据库基础之数据库简介及安装

MySql数据库简介:众所周知,MySql数据库是一款开源的关系型数据库,在Web应用方面,MySql是最好的、最流行的RDBMS(Relational Database Management System,关系型数据库管理系统)应用软件。MySql的4大特点:1.MySql是开源…

Java访问控制修饰符详解

在 Java 语言中提供了多个作用域修饰符,其中常用的有 public、private、protected、final、abstract、static、transient 和 volatile,这些修饰符有类修饰符、变量修饰符和方法修饰符。 在实际生活中,如果要获取某件物品,与其直接…

为资产分类定义折旧范围_RFID固定资产管理系统方案

项目介绍随着经济的不断发展,企业的规模日益壮大,固定资产管理作为企业资产管理最要的一部分,一直是企业关注的难题。由于固定资产具有价值高,使用周期长、使用地点分散的特点、相关责任人员多,在实际工作中不容易做到…

ssh中c3p0连接mysql_JSP+SSH+Mysql+C3P0实现的传智播客网上商城

项目简介本系统是传智播客授课时的开发案例,基于JSPSSHMysql的简单网上商城。在当代开发中,SSH的使用已经逐渐被SSM取代,但不代表我们不需要学习SSH,该系统简单,但功能齐全可以作为SSH框架初学者的入门项目。难度等级&…

zabbix配置mysql监控_【zabbix】zabbix配置MySQL监控

说明:除最后的测试步骤之外,以下操作均在zabbix的agent端(被监控端)执行一、环境准备:1、操作系统:CentOS 5.6 (zabbix server端)CentOS 5.6 (zabbix agent端)2、数据库:MySQL 5.6 (安装在agent端的数据库)3、软件&…

北信源管理网页卸载密码_Homebrew: 一行代码实现mac软件管理

Homebrew是一款帮助我们管理软件的软件。任何开源软件都可以通过Homebrew的一行代码完成软件的下载、升级或卸载等。目前Homebrew主要适用macOS或Linux系统。(Windows系统下的类似软件叫Chocolatey,功能相近,使用方法类似。详情请见https://chocolatey.o…

java集合基础_java常用集合基础知识

【纯出自个人笔记,如有错误,望改正,谢谢哈!学习~】一、Java集合1、集合类:容器类 装对象的(不能存放基本数据类型,但是里面看到的其实是包装类型)java.util包ArrayList底层是一个对象数组----------------------------…

java cookie安全_cookie的安全性问题

HTTP协议:(1)请求组成部分:请求行:(get或者post请求;请求路径(不包括主机) ;http1.1)请求头:请求头是浏览器交给服务器的一些信息(比较cookie啥的)请求体:只有post请求有请求体,get请…

java幻灯片播放代码_简单常用的幻灯片播放实现代码

幻灯片自动播放图片是当前网站比较流行的一个展示方式。在网上我们能找到各种特效丰富的幻灯片插件和代码。这里项目需要,我自己做了一个简单的,就不详细讲解了,代码很简单。直接看效果图和代码吧。所有代码 ppt.html,需要提供相应…

ssms没有弹出服务器验证_powerbi报表服务器搭建链接

作品展示​www.chinapowerbi.com安装 Power BI 报表服务器所要满足的硬件和软件要求 - Power BI​docs.microsoft.comDownload 用于基于 x64 的系统的 Windows 8.1 更新程序 (KB2919442) from Official Microsoft Download Center​www.microsoft.comDownload Windows Server 2…

groovy java_在java中使用groovy怎么搞

临摹微笑一种基于Java虚拟机的动态语言,可以和java无缝集成,正是这个特性,很多时候把二者同时使用,把groovy作为java的有效补充。对于Java程序员来说,学习成本几乎为零。同时支持DSL和其他简介的语法(例如闭包)&#x…

mysql 类似wm concat_oracle的wm_concat()和mysql的group_concat()合并同列变成一行的用法以及和concat()合并不同列的区别...

前言标题几乎已经说的很清楚了,在oracle中,concat()函数和 “ || ” 这个的作用是一样的,是将不同列拼接在一起;那么wm_concat()是将同属于一个组的(group by)同一个字段拼接在一起变成一行。mysql是一样的,只不过mysq…

试图将驱动程序添加到存储区_基于容器的块存储使用

什么是块存储?分布式存储系统,为业务与数据在集群内漂移提供了自由保障,满足企业对于不受约束的系统环境要求。同时,平台仅保存迁移被改动的数据,而非整体增加数据量,实现增量备份。魔方云块存储的功能&…

如何编译和运行C++程序?

C 和C语言类似,也要经过编译和链接后才能运行。那么C是如何运行的呢,C和C的运行步骤是一样的。我们需要留意的是C源文件的后缀,以及GCC 中的g命令。 下图是 C/C 代码生成可执行文件的过程: C源文件的后缀 C语言源文件的后缀非…

堆排序java实例_堆排序(示例代码)

前言:网上有很多堆排序的案例,我只想写自己堆排序。一:堆结构即:一个父节点最多只能有两个子节点(可以没有),如下图图1图2图3 图4二: 数组与堆结构转换假设已知堆数组 int[] a {9,7,6,4,5,1,3,2,} 则相…