当前位置: 首页 > news >正文

Java基础知识总结(6)

String类中常用的类方法:

方法名称描述
format(String format, Object... args)使用指定的格式字符串和参数返回一个格式化字符串。 format - 格式字符串 args - 格式字符串中由格式说明符引用的参数。如果还有格式说明符以外的参数,则忽略这些额外的参数。参数的数目是可变的,可以为 0。参数的最大数目受 Java Virtual Machine Specification 所定义的 Java 数组最大维度的限制。有关 null 参数的行为依赖于转换。
valueOf(Object obj)返回 Object 参数的字符串表示形式。
valueOf(char[] data)返回 char 数组参数的字符串表示形式。字符数组的内容已被复制,后续修改不会影响新创建的字符串。
valueOf(char[] data, int offset, int count)返回 char 数组参数的特定子数组的字符串表示形式。 offset 参数是子数组的第一个字符的索引。count 参数指定子数组的长度。字符数组的内容已被复制,后续修改不会影响新创建的字符 data - 字符数组。 offset - String 值的初始偏移量。 count - String 值的长度。
copyValueOf(char[] data, int offset, int count)返回 char 数组参数的特定子数组的字符串表示形式。 data - 字符数组。 offset - String 值的初始偏移量。 count - String 值的长度。
copyValueOf(char[] data)返回指定数组中表示该字符序列的 String。 data - 字符数组。
valueOf(boolean b)返回 boolean 参数的字符串表示形式。
valueOf(char c)返回 char 参数的字符串表示形式。
valueOf(int i)返回 int 参数的字符串表示形式。
valueOf(long l)返回 long 参数的字符串表示形式。
valueOf(float f)返回 float 参数的字符串表示形式。
valueOf(double d)返回 double 参数的字符串表示形式。
join(String s,str1,str2....)以s为连接符,连接字符串
public class Customer {
​@Overridepublic String toString() {return "我是重写的toString方法!";}
​
}
​
public class StringTest4{   public static void main(String[] args){/** 静态方法* String中只有一个方法是静态的,不需要new对象* 将"非字符串转换为字符串"* */double d1 = 0.023;System.out.println(String.format("%.2f", d1));char [] chars = {'x','y','z'};System.out.println(String.copyValueOf(chars));//xyzSystem.out.println(String.copyValueOf(chars,1,2));//yzSystem.out.println("类方法");//String s = String.valueOf(true);//把boolean类型转换为字符串//String s = String.valueOf(3.14);//把浮点类型转换为字符串//System.out.println(s);String  s= String.valueOf(new Customer());//System.out.println(s);//没有重写toString方法之前是对象的内存地址test.Customer@7de26db8System.out.println(s);//System.out.println(String.join(".", "www","baidu.com"));//www.baidu.com}
}

String类中常用的实例方法:

方法名称描述
equals(String string)判断字符串是否相等
equalslgnoreCase(String string)忽略大小写判断是否相等
length()获取字符串的长度
charAt(int index)获取某个索引处的字符(char)
indexOf(String string)返回指定子字符串在此字符串中第一次出现处的索引。(返回int类型的索引,找不到返回-1)
indexOf(String string,int startIndex)返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引startIdex开始。
lastindexOf(String string)返回指定子字符串在此字符串中最后一次出现处的索引。
lastindexOf(String str, int endsIndex)返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引endsIndex开始反向搜索。
startsWith(String string)判断是否以"string"开始
endsWith(String string)判断是否以"string"结束
comparTo(String string)比较字符串的大小
toLowerCase()将字符串转化为小写
toUpperCase()将字符串转换为大写
subString(int index)从index位置到截取到字符串的末尾
subString(int startindex,int endsindex)从开始索引位置开始到结束索引位置结束,前闭后开区间
trim()去除字符串前后的空格
replace(char oldChar, char newChar)返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
spilt(String string)根据给定正则表达式的匹配拆分此字符串。
split(String string,int limit)分割,保留末尾的空字符
concat(String string)将指定字符串连接到此字符串的结尾。
contains(String string)判断是否含string
toCharArray将字符串转换为字符数组
intern()返回字符串对象的规范化表示形式。</br>一个初始为空的字符串池,它由类 String 私有地维护。 当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(用 equals(Object) 方法确定),则返回池中的字符串。否则,将此 String 对象添加到池中,并返回此 String 对象的引用。 它遵循以下规则:对于任意两个字符串 s 和 t,当且仅当 s.equals(t) 为 true 时,s.intern() == t.intern() 才为 true。
isEmpty()判断字符串是否为空
public class StringTest5{public static void main(String[] args){String s1 = new String("http://WWW.baidu.com"); String s2="baidu";//boolean equals(String string) 判断两个字符串是否相等 地址 长度 每个字符 equals只能判断是否相等,而compareTo除了看出是否相等,还等看出大小System.out.println("判断两个字符串是否相等");String s = new String("xyz");System.out.println("xyz".equals(s));//true//boolean equalsIgnoreCase(String string)System.out.println("忽略大小写后判断两个字符串是否相等");System.out.println("XyZ".equalsIgnoreCase(s));//true//int length()System.out.println("获取字符串的长度");System.out.println(s2.length());//5//char charAt(int index) 获取字符串对应索引的字符System.out.println("获取字符串对应索引的字符");char c = s2.charAt(1);System.out.println(c);//好//a//indexOf(String string) 判断某个子字符串在字符串上第一次出现处的索引System.out.println("判断某个子字符串在字符串上第一次出现处的索引");System.out.println(s1.indexOf('.')); //10//indexOf(String string,int startIndex)判断某个子字符串在字符串上从指定索引startindex开始第一次出现处的索引System.out.println("判断某个子字符串在字符串上从指定索引startindex开始第一次出现处的索引");System.out.println(s1.indexOf('.', 11));//16//lastindexOf(String string) 返回指定子字符串在此字符串中最后一次出现处的索引。System.out.println("返回指定子字符串在此字符串中最后一次出现处的索引。");System.out.println(s1.lastIndexOf('.')); //16//lastindexOf(String str,  int endsIndex) 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引endsIndex开始反向搜索。System.out.println("返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引endsIndex开始反向搜索。");System.out.println(s1.lastIndexOf('.',15)); //10//boolean contains(String string) 判断前面的字符串是否包含后面的字符串System.out.println("判断前面的字符串是否包含后面的字符串");System.out.println("helloworld".contains("world"));//trueSystem.out.println(s.contains("https://"));//false//boolean startsWith(String string)   判断当前字符串是否以某个字符串开始System.out.println("判断当前字符串是否以某个字符串开始");System.out.println(s1.startsWith("https://"));//false//boolean endsWith(String string)   判断当前字符串是否以某个字符串结尾System.out.println("判断当前字符串是否以某个字符串结尾");System.out.println("test.txt".endsWith(".java"));//falseSystem.out.println("test.txt".endsWith(".txt"));//true//int comparTo(String string) System.out.println("按照字典顺序比较两个字符串大小");int res1 = "abc".compareTo("abc");System.out.println(res1);//0  前后一致 10-10 = 0int res2 = "abcd".compareTo("abcde");System.out.println(res2);//-1 前小后大 9-10 = -1int res3 = "abce".compareTo("abcd");System.out.println(res3);//1 前大后小 10-9 = 1int res4 = "abc".compareTo("bac");System.out.println(res4);//-1 两个字符串对应位置的字符依此按照字典顺序比较,分出胜负就不比较了//toLower()System.out.println("将字符串转换为小写");System.out.println(s1.toLowerCase());//http://www.baidu.com//toUpper()System.out.println("将字符串转换为大写");System.out.println(s1.toUpperCase());//HTTP://WWW.BAIDU.COM//string subString(int index)System.out.println("将字符串从索引index位置截取到结尾");//WWW.baidu.comSystem.out.println(s1.substring(7));//string subString(int index)System.out.println("将字符串从索引startsindex位置截取到索引endsindex位置,前闭后开区间");System.out.println(s1.substring(7,10));//WWW//trim()System.out.println("去除字符串前后的空格");System.out.println("  xyz  ".trim());//xyz//replace(String string)System.out.println("返回一个新的字符串,它是通过用 `newChar` 替换此字符串中出现的所有 `oldChar` 得到的");System.out.println(s1.replace("http://","https://"));//https://WWW.baidu.com//split(String string)System.out.println("按照正则表达式string分割字符");String [] time = "2022-5-22".split("-");for(int i=0;i<time.length;i++) {System.out.println(time[i]);}/**  2022522* *///split(String string,int limit)System.out.println("分割,保留末尾的空字符");String [] time1 = "2022-5-22   ".split("-",3);for(int i=0;i<time1.length;i++) {System.out.println(time1[i]);}/**  2022522   * *///join(String s,str1,str2....)System.out.println("以s为连接符,连接字符串");System.out.println(String.join(".", "www","baidu.com"));//www.baidu.com//concat(String string) 将指定字符串连接到此字符串的结尾。System.out.println("将指定字符串连接到此字符串的结尾。");System.out.println(s2.concat(".com"));//baidu.com//char[] toCharArray 将字符串转换为字符数组System.out.println("将字符串转换为字符数组");char [] chars=s2.toCharArray();for(int i = 0;i<chars.length;i++) {System.out.println(chars[i]);}/**  baidu* *///intern() 返回字符串对象的规范化表示形式。System.out.println("返回字符串对象的规范化表示形式。");System.out.println(s1.intern());//http://WWW.baidu.com//isEmpty() 判断某个字符串是否为空字符串 数组长度是length属性,字符串长度是length方法System.out.println("判断某个字符串是否为空字符串");System.out.println(s2.isEmpty());//false        }
}

相关文章:

Java基础知识总结(6)

String类中常用的类方法&#xff1a; 方法名称描述format(String format, Object... args)使用指定的格式字符串和参数返回一个格式化字符串。 format - 格式字符串 args - 格式字符串中由格式说明符引用的参数。如果还有格式说明符以外的参数&#xff0c;则忽略这些额外的参数…...

JAVA基础—关于Java的反射机制

1. Java的反射机制是什么&#xff1f; 反射(reflection) 当我们谈及反射&#xff0c;可以将其比作正在照镜子的行为。就像你可以在禁止中看到自己的反射一样&#xff0c;程序在运行时可以检查自身的机构和行为。这意味这程序可以动态地了解自己地组成部分&#xff0c;比如类、…...

Hive中的explode函数、posexplode函数与later view函数

1.概述 在离线数仓处理通过HQL业务数据时&#xff0c;经常会遇到行转列或者列转行之类的操作&#xff0c;就像concat_ws之类的函数被广泛使用&#xff0c;今天这个也是经常要使用的拓展方法。 2.explode函数 2.1 函数语法 -- explode(a) - separates the elements of array …...

北京市委统战部领导一行莅临百望云视察调研

“当今时代&#xff0c;数字技术、数字经济是世界科技革命和产业变革的先机&#xff0c;是新一轮国际竞争重点领域”。 为了解数字标杆企业的发展现状&#xff0c;促进新质生产力与实体产业的协同与赋能&#xff0c;近日&#xff0c;北京市委统战部非公经济处处长王雷、副处长徐…...

使用Python进行数据库连接与操作SQLite和MySQL【第144篇—SQLite和MySQL】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 使用Python进行数据库连接与操作&#xff1a;SQLite和MySQL 在现代应用程序开发中&#xf…...

How to manage Python environment based on virtualenv in Ubuntu 22.04

How to manage Python environment based on virtualenv in Ubuntu 安装使用创建环境激活环境安装软件包退出环境移除环境 安装 pip3 install virtualenv使用 创建环境 lwkqwfys:~$ mkdir ~/project/harbin lwkqwfys:~$ cd ~/project/harbin lwkqwfys:~/project/harbin$ vir…...

一款基于 SpringCloud 开发的AI聊天机器人系统,已对接GPT-4.0,非常强大

简介 一个基于SpringCloud的Chatgpt机器人&#xff0c;已对接GPT-3.5、GPT-4.0、百度文心一言、stable diffusion AI绘图、Midjourney绘图。用户可以在界面上与聊天机器人进行对话&#xff0c;聊天机器人会根据用户的输入自动生成回复。同时也支持画图&#xff0c;用户输入文本…...

C语言自定义库

编写 xx.c 和xx.h文件\将源代码编译为目标文件 gcc -c add.c sub.c 执行完毕后会生产add.o和sub.o文件静态库创建使用ar命令&#xff1b; ar -r libmymath.a add.o sub.o将库和main.c文件一起编译 gcc -o main main.c -lmymath -L./ 注意 上述书写格式不要错乱 -L 是指定文件路…...

目标检测常见数据集格式(YOLO、VOC、COCO)

目录 1.YOLO格式数据 1.1数据格式 1.2YOLO格式数据示例 1.3YOLO格式可视化 2.COCO数据格式 2.1数据格式 2.2COCO格式数据示例 2.3COCO格式可视化 3.VOC数据格式 3.1数据格式 3.2VOC格式数据示例 3.3COCO格式可视化 &#x1f353;&#x1f353;1.YOLO格式数据 &…...

搭建 es 集群

一、VMware准备机器 首先准备三台机器 这里我直接使用 VMware 构建三个虚拟机 都是基于 CentOS7 然后创建新用户 部署 es 需要单独创建一个用户&#xff0c;我这里在构建虚拟机的时候直接创建好了 然后将安装包上传 可以使用 rz 命令上传&#xff0c;也可以使用工具上传 工…...

Android弹出通知

发现把Android通知渠道的重要性设置为最高时&#xff0c;当发送通知时&#xff0c;通知能直接弹出来显示&#xff0c;以前一直搞不明白为什么别的app的通知可以弹出来&#xff0c;我的不行&#xff0c;搞了半天原来是这个属性在作怪&#xff0c;示例如下&#xff1a; class Ma…...

如何用 UDP 实现可靠传输?并以LabVIEW为例进行说明

UDP&#xff08;用户数据报协议&#xff09;本身是一个无连接的、不可靠的传输协议&#xff0c;它不提供数据包的到达确认、排序保证或重传机制。因此&#xff0c;如果要在UDP上实现可靠传输&#xff0c;就需要在应用层引入额外的机制。以下是一些常见的方法&#xff1a; 确认和…...

【任职资格】某大型商业金融银行任职资格体系搭建项目纪实

【客户背景】某大型商业金融银行位于南方某省&#xff0c;成立于上个世纪九十年代&#xff0c;是一家具有独立法人资格的股份制商业银行&#xff0c;经过多年发展&#xff0c;下辖20多家分行&#xff0c;近200多个营业网点&#xff0c;并于21世纪初成功上市&#xff0c;规模不断…...

如何利用IP地址分析风险和保障网络安全

随着网络攻击的不断增加和演变&#xff0c;保障网络安全已经成为了企业和组织不可忽视的重要任务。在这样的背景下&#xff0c;利用IP地址分析风险和建立IP风险画像标签成为了一种有效的手段。本文将深入探讨IP风险画像标签的作用以及如何利用它来保障网络安全。 IP风险画像查…...

轧钢自动化中的智能仪器:监控、控制和优化新视角

摘要&#xff1a;轧钢自动化是现在及未来的发展趋势&#xff0c;而自动化的轧钢发展&#xff0c;更是离不开形形色色的智能仪器&#xff0c;本文来看看那些应用于轧钢生产中的测量仪。 关键词&#xff1a;智能仪器,在线测量仪,测径仪,测宽仪,测厚仪,测长仪,工业数据分析采集软件…...

第十四届蓝桥杯省赛C++B组题解

考点 暴力枚举&#xff0c;搜索&#xff0c;数学&#xff0c;二分&#xff0c;前缀和&#xff0c;简单DP&#xff0c;优先队列&#xff0c;链表&#xff0c;LCA&#xff0c;树上差分 A 日期统计 暴力枚举&#xff1a; #include<bits/stdc.h> using namespace std; int …...

语音控制模块_雷龙发展

一 硬件原理 1&#xff0c;串口 uart串口控制模式&#xff0c;即异步传送收发器&#xff0c;通过其完成语音控制。 发送uart将来自cpu等控制设备的并行数据转换为串行形式&#xff0c;并将其串行发送到接收uart&#xff0c;接收uart然后将串行数据转换为接收数据接收设备的并行…...

idea 开发serlvet班级通讯录管理系统idea开发mysql数据库web结构计算机java编程layUI框架开发

一、源码特点 idea开发 java servlet 班级通讯录管理系统是一套完善的web设计系统mysql数据库 系统采用serlvetdaobean mvc 模式开发&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 servlet 班…...

Python高级语法

Python高级语 1 列表推导式1.1 什么是列表推导式1.2 列表推导式的使用 2 字典推导式2.1 什么是字典推导式2.2 字典推导式的使用 3 元组推导式4 集合推导式5 三元表达式5.1 什么是三元表达式5.2 三元表达式的使用 1 列表推导式 1.1 什么是列表推导式 列表推导式的英文&#xf…...

HTML5语义化元素

在HTML5之前&#xff0c;网站的分布层级有哪些呢&#xff1f; nav&#xff0c;header&#xff0c;main&#xff0c;footer 这样做有一个弊端 我们往往过多的使用div&#xff0c;通过ID或class来区分元素 对于浏览器来说这些元素不够语义化 对于我来说搜索引擎来说&#xff0c;不…...

双模型协作:OpenClaw同时调用GLM-4.7-Flash与Coder模型实战

双模型协作&#xff1a;OpenClaw同时调用GLM-4.7-Flash与Coder模型实战 1. 为什么需要双模型协作&#xff1f; 在我的日常开发工作中&#xff0c;经常遇到这样的场景&#xff1a;需要先理解一个复杂需求&#xff08;比如"帮我写个爬虫抓取知乎热榜并分析关键词"&am…...

Informer实战指南:从ProbSparse自注意力到生成式解码器的长序列预测优化

1. Informer模型的核心突破&#xff1a;为什么比Transformer更适合长序列预测&#xff1f; 第一次看到Informer论文时&#xff0c;最让我惊讶的是它在AAAI 2021上击败了众多Transformer变体获得最佳论文。这个专为长序列预测&#xff08;Long Sequence Time-series Forecasting…...

Realistic Vision V5.1开源镜像部署教程:Docker+Streamlit一体化环境搭建

Realistic Vision V5.1开源镜像部署教程&#xff1a;DockerStreamlit一体化环境搭建 1. 项目概述 Realistic Vision V5.1是目前SD 1.5生态中最顶级的写实风格模型之一&#xff0c;能够生成媲美专业单反相机拍摄的人像照片。本文将带你从零开始&#xff0c;通过Docker容器和St…...

清音刻墨镜像免配置亮点:内置10+中文领域词典(医疗/法律/IT)开箱即用

清音刻墨镜像免配置亮点&#xff1a;内置10中文领域词典&#xff08;医疗/法律/IT&#xff09;开箱即用 1. 为什么字幕对齐需要专业词典&#xff1f; 做视频字幕的朋友都知道&#xff0c;最头疼的不是生成文字&#xff0c;而是让文字和声音完美对齐。普通字幕工具遇到专业术语…...

OpenClaw安全配置要点:Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF本地运行权限管理

OpenClaw安全配置要点&#xff1a;Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF本地运行权限管理 1. 为什么需要特别关注OpenClaw的安全配置&#xff1f; 第一次在本地部署OpenClaw时&#xff0c;我犯了一个新手常见的错误——直接使用默认配置启动服务。结果第二天…...

AI显微镜-Swin2SR基础教程:理解‘细节重构技术’对AI生成图的价值

AI显微镜-Swin2SR基础教程&#xff1a;理解‘细节重构技术’对AI生成图的价值 1. 从模糊到高清&#xff1a;AI超分的革命性突破 你是否曾经遇到过这样的情况&#xff1a;AI生成了一张很有创意的图片&#xff0c;但分辨率太低&#xff0c;放大后全是马赛克&#xff1b;或者找到…...

vLLM与SGLang多模型统一API部署实战指南

1. 为什么需要多模型统一API部署 在实际生产环境中&#xff0c;我们经常会遇到需要同时部署多个AI模型的场景。比如一个智能客服系统可能需要同时支持问答、情感分析和文本摘要等多个功能&#xff0c;每个功能背后可能对应不同的模型。如果每个模型都单独部署一套服务&#xff…...

深度解析ConcurrentHashMap设计演进:从分段锁到无锁化的并发之路

在Java并发编程领域&#xff0c;ConcurrentHashMap绝对是“并发容器扛鼎之作”——它既解决了HashMap并发环境下的数据不一致&#xff08;死循环、数据丢失&#xff09;问题&#xff0c;又突破了Hashtable全表锁的性能瓶颈&#xff0c;成为高并发场景下K-V存储的首选。自JDK1.5…...

8位单片机中16位int型数据操作技巧

8位单片机中对16位int型数据的操作技巧1. 数据合并的需求背景在8位单片机开发中&#xff0c;经常需要处理16位数据。由于8位架构的限制&#xff0c;16位数据需要拆分为两个8位字节进行存储和传输。当需要将两个8位数据合并为一个16位数据时&#xff0c;开发者需要掌握高效可靠的…...

STM32开发中的C语言高效编程技巧

STM32开发中的C语言高效编程技巧1. 位操作在寄存器控制中的应用1.1 位操作基础在STM32嵌入式开发中&#xff0c;C语言提供了六种基本位操作运算符&#xff1a;&按位与|按位或^按位异或~按位取反<<左移>>右移1.2 寄存器位操作技巧1.2.1 特定位置位/清零// 设置G…...