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

相关文章

详解MySQL中DISTINCT去重的核心注意事项

《详解MySQL中DISTINCT去重的核心注意事项》为了实现查询不重复的数据,MySQL提供了DISTINCT关键字,它的主要作用就是对数据表中一个或多个字段重复的数据进行过滤,只返回其中的一条数据... 目录DISTINCT 六大注意事项1. 作用范围:所有 SELECT 字段2. NULL 值的特殊处

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

Java Jackson核心注解使用详解

《JavaJackson核心注解使用详解》:本文主要介绍JavaJackson核心注解的使用,​​Jackson核心注解​​用于控制Java对象与JSON之间的序列化、反序列化行为,简化字段映射... 目录前言一、@jsonProperty-指定JSON字段名二、@JsonIgnore-忽略字段三、@Jso

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Linux find 命令完全指南及核心用法

《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

PostgreSQL核心功能特性与使用领域及场景分析

PostgreSQL有什么优点? 开源和免费 PostgreSQL是一个开源的数据库管理系统,可以免费使用和修改。这降低了企业的成本,并为开发者提供了一个活跃的社区和丰富的资源。 高度兼容 PostgreSQL支持多种操作系统(如Linux、Windows、macOS等)和编程语言(如C、C++、Java、Python、Ruby等),并提供了多种接口(如JDBC、ODBC、ADO.NET等