1-29 核心类库(五)

2024-03-29 15:52
文章标签 类库 29 核心

本文主要是介绍1-29 核心类库(五),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一String类

1.作用:存储多个连续字符的容器,值定义在" "中,默认值是null

2.赋值方式

①直接赋值: String 变量名="值";

②构造器赋值:String 对象名=new String("值");

public class StringFuZhiTest {public static void main(String[] args) {String s1="abc";String s2="abc";String s3=new String("abc");System.out.println(s1==s2);System.out.println(s1==s3);/***false的原因: ==比较的是就是栈内存的*  构造器的对象是在堆里面的存储,所以 s1s3的地址不一样**/System.out.println(s1.equals(s3));System.out.println("abc"==s1);}
}

 final修饰 表示:String类不能被继承 后续出现的

StringBuilder StringBuffer 和String没有继承关系,是在String基础上 进行功能拓展

 String 相当于char[] 这也是String不能转换 char Character

二 String类常用的API

1.转换.

①String<-->byte[]

import java.util.Arrays;public class StringAPITest1 {public static void main(String[] args) {String str="金风玉露一相逢,便胜却,人间无数";byte[] bbuf=str.getBytes();System.out.println("length"+bbuf.length);System.out.println(Arrays.toString(bbuf));/*** 如果是有中文, 一个中文 对应三个字节* 一个符号对应一个字节* GBK编码的话 一个汉字对应两个字节*//*** 将指定的字节数组 转换字符串*/String byteToString=new String(bbuf,0,bbuf.length);System.out.println(byteToString);/** 一般转换的时候都是从头转换的 不漏字* 如果转换的时候 长度不够* 用?代替*/}
}

②String<-->char[](常用)

import java.util.Arrays;public class StringAPI2 {public static void main(String[] args) {String str="安能催眉折腰侍权贵";/***  将指定String 转换为char[]*/char[] chs=str.toCharArray();System.out.println(Arrays.toString(chs));/*** 将指定的字节数组转换为String类型* 第一个参数:转换的字符数组* 第二个参数:从哪开始转换* 第三个参数:转换多长*/String charToString=new String(chs,5,3);System.out.println(charToString);}
}

2.修改.

①替换指定的字符   和  去除指定字符的首尾空格

public class StringAPI3 {public static void main(String[] args) {String str="I LLLLLove 中国";/*** public String replace(char old,char newChar)* 使用新字符 替换原有的字符(字符存在)* 全换所有的*/System.out.println("将l替换为K"+str.replace('L','k'));String str1="  去掉  首尾   空格 ";System.out.println("去掉之前"+str1);/*** public String trim()* 去掉指定String首尾空格*/System.out.println("去掉后:"+str1.trim());}
}

3.查询.

① 获取指定位置上的元素

②获取指定元素在String中第一次或最后一次出现的位置

public class StringAPI4 {public static void main(String[] args) {String str="abcdfegasdasdsd";/*** public char charAt(int index)* 获取指定位置上的字符*/System.out.println("3位置上的是"+str.charAt(3));/*** public int indexOf(int ch)* public int indexOf(String son)* int ch----表示用户既可以 传递char 类型的数据* 也可以传递 char 对应的ASCII 码的值*/System.out.println("a在字符串中第一次出现的位置是"+str.indexOf('a'));System.out.println("a在字符串中第一次出现的位置是"+str.indexOf(97));System.out.println("ab在字符串中第一次出现的位置是"+str.indexOf("ab"));/****    public int indexOf(int ch,int beginIndex)*    public int indexOf(String son,int beginIndex)*    从指定的位置开始向后去查元素 第一个出现的位置*/System.out.println("a在字符串中第一次出现的位置是"+str.indexOf('a',3));System.out.println("a在字符串中第一次出现的位置是"+str.indexOf(97,3));System.out.println("ab在字符串中第一次出现的位置是"+str.indexOf("ab",3));/****    public int lastIndexOf(int ch,int beginIndex)*    public int lastIndexOf(String son,int beginIndex)*    从指定的位置开始向前去查元素 最后出现的位置*/System.out.println("从第三个的位置开始向前查a是"+str.lastIndexOf('a',3));System.out.println("                      是"+str.lastIndexOf(97,3));}
}

 (3)截取指定的字符串

import java.util.UUID;public class StringAPI5 {public static void main(String[] args) {//UUID 来截取验证码UUID uuid=UUID.randomUUID();System.out.println("uuid"+uuid);String s=uuid.toString();/*** public String subString(int beginIndex)* 从指定位置开始截取到字符串末尾* public String subString(int beginIndex,int endIndex)* 从指定位置开始 到指定位置结束(不包含结束的位置)*/System.out.println(s.substring(0,4));System.out.println(s.substring(5));}
}

这篇关于1-29 核心类库(五)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/859005

相关文章

C++核心编程——4.6 继承

继承是面向对象三大特性之一 4.6.1  继承的概念和作用 定义:          继承(inheritance)机制允许在保持原有类特性的基础上进行扩展,增加功能。这样产生的新类,称派生类(或子类),被继承的类称基类(或父类)。 作用:可以减少重复的代码 语法:  class A : public B; A 类称为子类 或 派生类 B 类称为父类 或 基类 注: 派生类中

结合源码分析在 Quartz 的集群模式中,比较核心的数据库表是哪些?

目录 引言 核心数据表 1. QRTZ_JOB_DETAILS 2. QRTZ_TRIGGERS 3. QRTZ_CRON_TRIGGERS 4. QRTZ_SIMPLE_TRIGGERS 5. QRTZ_SCHEDULER_STATE 源码中的关系示例 引言         在 Quartz 的集群模式中,核心的数据库表是至关重要的,它们共同协作确保任务调度的信息被正

OpenHarmony语言基础类库【@ohos.xml (xml解析与生成)】

将XML文本转换为JavaScript对象、以及XML文件生成和解析的一系列接口。 说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import xml from '@ohos.xml'; XmlSerializer XmlSerializer接口用于生成XML文件。 constructor con

Spark核心名词解释与编程

Spark核心概念 名词解释 1)ClusterManager:在Standalone(上述安装的模式,也就是依托于spark集群本身)模式中即为Master(主节点),控制整个集群,监控Worker。在YARN模式中为资源管理器ResourceManager(国内spark主要基于yarn集群运行,欧美主要基于mesos来运行)。 2)Application:Spark的应用程序,包含一个

GO语言核心30讲 进阶技术

原站地址:Go语言核心36讲_Golang_Go语言-极客时间 一、数组和切片 1. 两者最大的不同:数组的长度是固定的,而切片的长度是可变的。 2. 可以把切片看成是对数组的一层封装,因为每个切片的底层数据结构中,一定会包含一个数组。 切片也可以被看作是对底层数组的某个连续片段的引用(窗口)。 3. go语言不存在传值或传引用两种区分。 只要传递的是引用类型的,就是“传引用”。如果传递

近屿OJAC带你解读:AIGC核心知识点提示工程

什么是提示工程(Prompt Engineering) 提示工程,也称为"Γ指令工程"。在人工智能领域,Prompt指的是用户给大型语言模型发出的指令。例如,“Γ讲个笑话”、“Γ用Python编个贪吃蛇游戏”、“Γ给男/女朋友写封情书"等。虽然看似简单,但实际上,Prompt在人工智能时代扮演着非常重要的角色。它被誉为AGI时代的"编程语言”,而提示工程则被视为AGI时代的"软件工程"。因此,掌

【android应用】Android Studio导入第三方类库的方法

最近在做一个二维码的相关的应用,顺带整理下相关的知识。今天转载的这篇实际的为我解决了jar包导入问题。因为android studio用的少,转载记录下方便以后忘记了进行一个查找。尊重原创的基础下,稍微做了一点微调。 转载自:https://www.cnblogs.com/neozhu/p/3458759.html 侵删,谢谢。 本人也刚刚开始尝试做android app的开发,

企业数字化转型必备:八大核心条件

数字化转型一直以来都不是一个容易的赛道,多少“英雄好汉”折戟在这条转型之路上。 想要成功转型需要具备一些“基因”,其中以下8条是非常必要的转型“基因”,缺一不可。 01、定目标 一切项目的开始、推进都是围绕一个目标进行的。 数字化转型也是一样的,很多企业会认为我们已经有了转型目标;降本、增效。 这是一个模糊的概念,什么是降本?什么是增效?降本想降哪些?是仓库的损耗率还是人员的数量

5/29 明天就省赛啦

1389 Area of Simple Polygons 统计矩形面积并 拖了好久总算搞定了,原来不用二维线段树,只要一个方向离散另一个方向插入/删除就好了~ 188ms,用了map,懒得写二分查找了.   3277 City Horizon 做一题送一题,同上   1177 Picture 改成统计周长,增加一个统计量,表示某个区间上的不连续线段树 挺恶心的,似懂非懂,以后再

Mybatis-Plus学习:快速入门、核心功能、扩展功能、插件功能

文章目录 MybatisPlus快速入门快速开始常见注解常见配置 核心功能条件构造器(Wrapper)自定义SQLService接口基本用法基础业务接口复杂业务接口Lamda查询Lamda更新批量新增 扩展功能代码生成代码生成器快速开发插件 静态工具逻辑删除枚举处理器JSON处理器 插件功能分页插件通用分页实体 乐观锁插件示例 MybatisPlus 快速入门 快速开始