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的主要作用是生成候选目标区域,从…

Java创建一个学生类

创建一个表示学生的实体类 Student,其中有学生姓名、性别和年龄信息。要求使用属性来表示学生信息,最终编写测试代码。 首先定义一个名为 Student 的类,代码如下: public class Student {// 学生类 }在类中通过属性定义学生、性…

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

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

python中fd是什么意思_python里fd是什么意思

文件描述字(file descriptor,fd)是系统中用来唯一记录当前已经打开的文件的标识号,fd是一个整数。除了file对象外,Python还提供对fd的操作,对fd的操作更加底层,fd和Python中的file对象是不同的概念。在介绍file对象时已…

show index mysql_MySQL SHOW INDEX语法的实际应用

以下的文章主要描述的是MySQL SHOW INDEX语法的实际操作用法以及其实际查看索引状态(语法)的具体内容的描述,如果你对这一技术,心存好奇的话,以下的文章将会揭开它的神秘面纱。SHOW INDEX FROM tbl_name [FROM db_name]MySQL SHOW INDEX会返回…

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

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

Java this关键字详解

this 关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。 this.属性名 大部分时候,普通方法访问其他方法、成员变量时无须使用 this 前缀&#…

zabbixdocker里的mysql_基于Docker安装与部署Zabbix

今天测试了一天的Zabbix-Docker,部署起来确实方便,就需要在安装了Docker的linux系统中输入以下命令就可以了。1.安装MysqL数据库,启动一个空的MysqL服务器实例docker run Cname zabbix-DB -t \-e MysqL_DATABASE”zabbix” \-e MysqL_USER”zabbix” \-e…

Java创建对象详解

对象是对类的实例化。对象具有状态和行为,变量用来表明对象的状态,方法表明对象所具有的行为。Java 对象的生命周期包括创建、使用和清除, Java 语言中创建对象分显式创建与隐含创建两种情况。 显式创建对象 对象的显式创建方式有 4 种。 1. 使用 new …

python matplotlib模块教程_Python中的Matplotlib模块入门教程

1 关于 Matplotlib 模块Matplotlib 是一个由 John Hunter 等开发的,用以绘制二维图形的 Python 模块。它利用了 Python 下的数值计算模块 Numeric 及 Numarray,克隆了许多 Matlab 中的函数, 用以帮助用户轻松地获得高质量的二维图形。Matplot…

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

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

Java匿名对象

创建对象的格式如下: 类名称 对象名 new 类名称();每次 new 都相当于开辟了一个新的对象,并开辟了一个新的物理内存空间。如果一个对象只需要使用唯一的一次,就可以使用匿名对象,匿名对象还可以作为实际参数传递。 匿名对象就是…

mysql中的钱null_MySQL数据库中null的知识点总结

在mysql数据库中,null是一个经常出现的情况,关于mysql中的null,有哪些注意事项呢?下面简单总结归纳下,后续会不断补充。1. is null首先判断数据库中某一列的值是否为null,不能用等于来判断,必须…

Java访问对象的属性和行为

每个对象都有自己的属性和行为,这些属性和行为在类中体现为成员变量和成员方法,其中成员变量对应对象的属性,成员方法对应对象的行为。 在 Java 中,要引用对象的属性和行为,需要使用点(.)操作符…

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…

Java对象的销毁

对象使用完之后需要对其进行清除。对象的清除是指释放对象占用的内存。在创建对象时,用户必须使用 new 操作符为对象分配内存。不过,在清除对象时,由系统自动进行内存回收,不需要用户额外处理。 Java 语言的内存自动回收称为垃圾…

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

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

Java用户修改密码

每一个应用系统都离不开用户模块。用户模块除了提供登录之外,还允许用户查看自己的信息和进行修改。本实例将创建一个用户类,然后再创建一个测试类调用用户类,实现修改密码的功能。 本实例的用户类非常简单,仅包含用户名和密码两…

python视频提取音频_python脚本实现mp4中的音频提取并保存在原目录

一段把mp4中的音频提取为mp3并保存在原目录的python脚本需要提前安装好ffmpeg 转换为单线程,耗时较长#!/usr/bin/env python3# -*- coding: utf-8 -*-# Time : 2020/2/26 17:36# Author : CuiFeiran# FileName : tool.py# Software : PyCharm# email :cui2025126.co…