《Java基础知识》Java字符串详解
本文内容:
String类的概述
String类的使用步骤
String类的常用方法
本文目的:
能够使用String类的构造方法创建字符串对象
能够明确String类的构造方法创建对象,和直接赋值创建字符串对象的区别
能够使用文档查询String类的判断方法
能够使用文档查询String类的获取方法
能够使用文档查询String类的转化方法
一、String类
概述java.lang.String 类代表字符串。Java程序中所有的字符串文字(比如"abc")都可以被看成是实现此类的实例。类String中包括用在检查每一个字符串的方法,比如用于比较字符串,搜索字符串,提取字符串以及创建具有翻译为大写或者是小写的所有字符的字符串副本。
特点(1)字符串是不变的,字符串的值在创建以后是不可以被更改的
案例:
public class var {
public static void main(String[] args) {
String str = "abc";
str += "d";
System.out.println(str);
}
}
运行结果:

特点(2)因为String对象是不可以变换的,所以它们才可以被共享。
public class var {
public static void main(String[] args) {
//内存中只有一个“abc”被创建。
String s1 = "abc";
String s2 = "abc";
}
}
特点(3)"abc"等于char[ ] data={′a′,′b′,′c′}
public class var {
public static void main(String[] args) {
char[] data={'a','b','c'};
String str = new String(data);
System.out.println(str);
}
}
运行结果:

3. 使用步骤
查看类
java.lang.String:此类不需要再导入
public String( ):初始化新创建的String对象,可以让它表示空字符序列
public String(char[ ] value):通过当前参数当中的字符数组来构造新的String
public String(byte[ ] bytes):通过使用平台的默认字符集解码当前参数中的字节数组来构造新的String
构造举例,代码如下所示:
public class var {
public static void main(String[] args) {
//无惨构造
String str0 = new String();
//通过字符数组构造
char[] data={'a','b','c'};
String str1 = new String(data);
//通过字节数组构造
byte[] bytes={97,98,99};
String str2 = new String(bytes);
}
}
4.常用的方法
(1)判断功能的方法
案例:
public class var {
public static void main(String[] args) {
String s1 = "hello";
String s2 = "hello";
String s3 = "HELLO";
System.out.println("------------通过equals比较-----------------");
if(s1.equals(s2)){
System.out.println("s1.equals(s2): true");
}
if(!s1.equals(s3)){
System.out.println("s1.equals(s3): false");
}
System.out.println("------------通过equalsIgnoreCase比较-----------------");
if(s1.equalsIgnoreCase(s2)){
System.out.println("s1.equals(s2): true");
}
if(s1.equalsIgnoreCase(s3)){
System.out.println("s1.equals(s3): true");
}
}
}
运行结果:

(2)获取功能的方法:
public class var {
public static void main(String[] args) {
String s1 = "hello";
//获取字符串长度
System.out.println("字符串长度:"+s1.length());
//拼接字符串
String s2 = s1.concat("world");
System.out.println("字符串s1拼上world后:"+s2);
//获取指定位置元素
char c1= s1.charAt(0);
System.out.println("字符串s1第一位:"+c1);
//获取字符串中出现指定元素的位置
int i = s1.indexOf("e");
System.out.println("字符串s1中‘e’所在位置:"+i);
//截取字符串
String s3 = s1.substring(0,2);
System.out.println("截取字符串s1中1到2的元素:"+s3);
}
}
运行结果:

(3)转换功能的方法:
public class var {
public static void main(String[] args) {
String s1 = "hello";
//字符串转成字符数组
char[] arr = s1.toCharArray();
for (int i = 0; i < arr.length ; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
//转换成字节
byte[] b1 = s1.getBytes();
for (int i = 0; i < b1.length ; i++) {
System.out.print(b1[i] + " ");
}
System.out.println();
//字符替换
String s2 = s1.replace("ll","LL");
System.out.println("替换后的字符串为"+s2);
}
}
运行结果:

(4)分割功能的方法:
public class var {
public static void main(String[] args) {
String s1 = "hello,world";
String[] arr = s1.split(",");
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
运行结果:

参考:https://baijiahao.baidu.com/s?id=1622780499548219487&wfr=spider&for=pc
《Java基础知识》Java字符串详解的更多相关文章
- Java基础-面向接口编程-JDBC详解
Java基础-面向接口编程-JDBC详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.JDBC概念和数据库驱动程序 JDBC(Java Data Base Connectiv ...
- java基础(3)--详解String
java基础(3)--详解String 其实与八大基本数据类型一样,String也是我们日常中使用非常频繁的对象,但知其然更要知其所以然,现在就去阅读源码深入了解一下String类对象,并解决一些我由 ...
- Linux基础知识之挂载详解(mount,umount及开机自动挂载)
Linux基础知识之挂载详解(mount,umount及开机自动挂载) 转载自:http://www.linuxidc.com/Linux/2016-08/134666.htm 挂载概念简述: 根文件 ...
- JAVA基础知识|java虚拟机(JVM)
一.JVM简介 java语言是跨平台的,兼容各种操作系统.实现跨平台的基石就是虚拟机(JVM),虚拟机不是跨平台的,所以不同的操作系统需要安装不同的jdk版本(jre=jvm+类库:jdk=jre+开 ...
- java基础知识——Java的定义,特点和技术平台
(作者声明:对于Java编程语言,很多人只知道怎么用,却对其了解甚少.我也是其中一员.所以菜鸟的我,去查询了教科书以及大神的总结,主要参考了<Java核心技术>这本神作.现在分享给大家!) ...
- [java基础知识]java安装步骤
jre: java运行环境. jre = java虚拟机 + 核心类库(辅助java虚拟机运行的文件).如果只是运行java程序,只需要安装jre. jdk: java开发工具集 jd ...
- 计算机基础知识和tcp详解
计算机基础知识 作为应用软件开发程序员是写应用软件的,而应用软件必须应用在操作系统之上,调用操作系统接口,由操作系统控制硬件 比如客户端软件想要基于网络发送一条消息给服务端软件,流程是: 1.客户端软 ...
- OpenStack基础知识-tox的详解介绍
1.tox简介 tox是通用的虚拟环境管理和测试命令行工具.tox能够让我们在同一个Host上自定义出多套相互独立且隔离的python环境,每套虚拟环境中可能使用了不同的 Python 拦截器/环境变 ...
- java线程基础知识----SecurityManager类详解
在查看java Thread源码的时候发现一个类----securityManager,虽然很早就知道存在这样一个类但是都没有深究,今天查看了它的api和源码,发现这个类功能强大,可以做很多权限控制策 ...
- Java基础(55):Exception类详解(转)
Java中的异常 Exception java.lang.Exception类是Java中所有异常的直接或间接父类.即Exception类是所有异常的根类. 比如程序: public class Ex ...
随机推荐
- HTML、CSS基础知识
前端基础 1. CSS 8 1.1. CSS叫做层叠样式表,用来设置页面中元素的样式.背景颜色.字体颜色.字体大小... 8 1.2. CSS负责结构.表现.行为中的表现 8 1.3. 编写的位置 8 ...
- day 22 面向对象的基础
面向对象: 1.简述编写和执行类中的方法的流程 class Foo: #类的编写 def func(): print("我爱你") obj = Foo() #类的调用和执行 obj ...
- sqlserver2008 R2 安装以后没有 sql server profiler
一些人在安装好SQL server 2008 r2或者从empress升级到enterprise或者开发版之后没有SQL server profiler功能,如果需要加装则应该找到自己的安装文件(部分 ...
- P2415 集合求和(一道洛谷好题鸭)(虽然可以水过,但有必研究DP)
此题坑点: 结果必须要用long long存,int存不下 如果想要像cout<<sum*pow(2,num-1)这样在输出时计算会错:long long在计算过程被隐式转换成了doubl ...
- salesforce lightning零基础学习(十六) 公用组件之 获取字段label信息
我们做的项目好多都是多语言的项目,针对不同国家需要展示不同的语言的标题.我们在classic中的VF page可谓是得心应手,因为系统中已经封装好了我们可以直接在VF获取label/api name等 ...
- 重启testjenkins的步骤
在linux下编译caffe的过程中,发生错误,导致linux系统蹦了,没办法,重启linux系统. 之前安装在docker下的jenkins也停掉了. 先启动jenkins的步骤如下: 1.先启动d ...
- Linux内核设计与实现笔记_1_基本概念
Linux内核设计与实现笔记_1_基本概念 操作系统 系统这个词包含了操作系统和所有运行在它上面的应用程序.操作系统是指在整个系统中负责完成分最基本功能和系统管理的那些部分,这些部分应该包括: 内核, ...
- vue中computed(计算属性)和watch在实现父子组件props同步时的实际区分
vue中computed和watch的对比是一个很有意思的话题. 看过官网教程以后,我们往往更倾向多使用computed.computed优点很多,却在某些时候不太适用. 今天我们就稍微讨论一下,当我 ...
- Python如何爬取实时变化的WebSocket数据【华为云技术分享】
一.前言 作为一名爬虫工程师,在工作中常常会遇到爬取实时数据的需求,比如体育赛事实时数据.股市实时数据或币圈实时变化的数据.如下图: Web 领域中,用于实现数据'实时'更新的手段有轮询和 WebSo ...
- Docker数据挂载
Docker数据管理 在容器中管理数据主要有两种方式: 数据卷(Volumes) 挂载主机目录(Bind mounts) 数据卷 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过UFS,可以提供很 ...