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

第13章 常用类

一、包装类

二、String

String的常用方法:

  • equals:判断内容是否相等,区分大小写。
        String str1 = "hello";String str2 = "Hello";System.out.println(str1.equals(str2));//false
  • equalsIgnoreCase:判断内容是否相等,不区分大小写。
        String username = "john";if(username.equalsIgnoreCase("johN")) {//输出 相等System.out.println("相等");} else {System.out.println("不等");}
  • length:获取字符的个数,字符串的长度。
        System.out.println("韩顺平".length());//3
  • indexOf:获取字符在字符串对象中第一次出现的索引,索引从0开始,如果找不到,则返回-1。
  • lastIndexOf:获取字符在字符串对象中最后一次出现的索引,索引从0开始,如果找不到,则返回-1。
        String s1 = "wer@terwe@g@";System.out.println(s1.indexOf('@'));//3System.out.println(s1.indexOf("we"));//0System.out.println(s1.lastIndexOf('@'));//11System.out.println(s1.lastIndexOf("we"));//7
  • subString:截取指定范围的字符串。
        String name = "hello,张三";System.out.println(name.substring(6));//张三  截取 [6,最后] 的字符串System.out.println(name.substring(1, 6));//ello,  截取 [1,6) 的字符串
  • toUpperCase:转换成大写。
  • toLowerCase:转换成小写。
        String s = "heLLO";System.out.println(s.toUpperCase());//HELLOSystem.out.println(s.toLowerCase());//hello
  • concat:拼接字符串。
        String s1 = "宝玉";s1 = s1.concat("林黛玉").concat("薛宝钗").concat("together");System.out.println(s1);//宝玉林黛玉薛宝钗together
  • replace:替换,在字符串中找到第一个参数,全部替换为第二个参数。
    注意:返回替换后的字符串,替换不会对原本的字符串造成影响。
        String s2 = "宝玉 and 林黛玉 林黛玉 林黛玉";String s3 = s2.replace("林黛玉", "薛宝钗");System.out.println(s2);//宝玉 and 林黛玉 林黛玉 林黛玉System.out.println(s3);//宝玉 and 薛宝钗 薛宝钗 薛宝钗
  • split:分割字符串。
    注意:如果有特殊字符,需要用转义符\
        String poem = "锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦";String[] split = poem.split(",");for (int i = 0; i < split.length; i++) {System.out.println(split[i]);//锄禾日当午//汗滴禾下土//谁知盘中餐//粒粒皆辛苦}String poem1 = "C:\\idea_java_projects\\chapter13";String[] split1 = poem1.split("\\\\");for(int i = 0; i < split1.length; i++) {System.out.println(split1[i]);//C://idea_java_projects//chapter13}
  • compareTo:比较两个字符串的大小
    (1)先逐个比较字符的内容,如果遇不等,则返回两个字符的差;
    (2)如果前面比较的部分相等,但其中一个字符串没有字符了,即长度不等,则返回两个字符串的长度差;
    (3)如果每个字符都相同,长度也相同,则返回0.
        String str = "jack";String a1 = "jaa";String a2 = "jaak";String a3 = "jaakk";System.out.println(a1.compareTo(str));//-2 'a' - 'c' = -2System.out.println(a2.compareTo(str));//-2 'a' - 'c' = -2System.out.println(a3.compareTo(str));//-2 'a' - 'c' = -2String b1 = "jac";String b2 = "jacka";System.out.println(b1.compareTo(str));//-1 b1.length - str.length = -1System.out.println(b2.compareTo(str));//1  b2.length - str.length = 1String c = "jack";System.out.println(c.compareTo(str));//0
  • charAt:返回指定索引处的字符
        String s5 = "hspeduxyz";System.out.println(s5.charAt(5));//u
  • getBytes:将字符串转换为字节数组。
//第一种:该方法将使用平台默认的字符编码方式,将字符串转换为字节数组。
//返回一个byte数组,其中每个字节都表示字符串中相应位置的字符。
public byte[] getBytes();
//第二种:该方法需要传入一个字符编码方式charsetName作为参数,将字符串转换为字节数据。
//可能会抛出UnsupportedEncodingException异常,需要进行异常处理。
public byte[] getBytes(String charsetName) throws UnsupportedEncodingException;
String str01 = "Hello,你好,こんにちは";//使用平台默认字符编码方式byte[] bytesDefault = str01.getBytes();System.out.println("使用平台默认字符编码方式进行转换:");for(byte b : bytesDefault) {//打印字节数组的十六进制表示System.out.print(Integer.toHexString(b & 0xFF).toUpperCase() + " ");//48 65 6C 6C 6F 2C E4 BD A0 E5 A5 BD 2C E3 81 93 E3 82 93 E3 81 AB E3 81 A1 E3 81 AF }//使用UTF-8字符编码方式try {byte[] bytesUTF8 = str01.getBytes("UTF-8");System.out.println("\n使用UTF-8字符编码方式进行转换:");for(byte b : bytesUTF8) {System.out.print(Integer.toHexString(b & 0xFF).toUpperCase() + " ");//48 65 6C 6C 6F 2C E4 BD A0 E5 A5 BD 2C E3 81 93 E3 82 93 E3 81 AB E3 81 A1 E3 81 AF }} catch (UnsupportedEncodingException e) {e.printStackTrace();}//使用ISO-8859-1字符编码方式try {byte[] bytesISO8859 = str01.getBytes("ISO-8859-1");System.out.println("\n使用ISO-8859-1字符编码方式进行转换:");for(byte b : bytesISO8859) {System.out.print(Integer.toHexString(b & 0xFF).toUpperCase() + " ");//48 65 6C 6C 6F 2C 3F 3F 2C 3F 3F 3F 3F 3F }} catch (UnsupportedEncodingException e) {e.printStackTrace();}

三、StringBuffer

四、StringBuilder

五、Math

六、Date、Calender、LocalDate...

七、System

八、Arrays

九、BigInteger BigDecimal

相关文章:

第13章 常用类

一、包装类 二、String String的常用方法&#xff1a; equals&#xff1a;判断内容是否相等&#xff0c;区分大小写。 String str1 "hello";String str2 "Hello";System.out.println(str1.equals(str2));//false equalsIgnoreCase&#xff1a;判断内容…...

15.数组的方法(改变原数组和不改变原数组)

改变原数组 (1)pop 语法:数组名.pop() 作用:删除数组最后一项 返回值:返回被删除的那一项 var arr=["zhangsna","lisi","wanger","mazi"] var res=arr.pop() console.log(arr) //[zhangsna, lisi, wange…...

随后记: uniapp uview u-dropdown 下拉菜单固定高度滑动不生效

使用u-dropdown 下拉组件 按照uview官网讲解使用 配置根本不生效 scroll-y"true" style"height: 200rpx;" 但是在下拉的时候&#xff0c;不能上下滑动 &#xff0c;原因是自带的遮罩层挡住了 解决办法&#xff1a;在下拉菜单打开和关闭的时候&#xff0c…...

一文梭哈动态代理

大家好&#xff0c;这里是教授.F 引入&#xff1a; 先看一个生活化的例子&#xff0c;如果一个明星他会唱歌&#xff0c;会跳舞。但是自己太忙了&#xff0c;没时间去宣传自己和去找工作&#xff0c;所以他需要有人帮他代理。然后呢这个代理者也需要知道他会什么&#xff0c;什…...

如何查询Windows 10电脑的IP地址

如何查询Windows 10电脑的IP地址 引言 在Windows 10操作系统中&#xff0c;查询电脑的IP地址是一项基本而重要的任务&#xff0c;无论是为了配置网络、解决连接问题&#xff0c;还是进行远程访问。 基础知识 IP地址&#xff1a;互联网协议地址&#xff0c;用于标识网络中的…...

java: 警告: 源发行版 8 需要目标发行版 8

前言 该文章中项目背景是&#xff1a;IDEA与设置的版本与实际电脑配置的不一致。也就是说只改了这个团队项目的JDK版本&#xff0c;IDEA上其它项目JDK版本未更改。 提示&#xff1a; IDEA警告&#xff1a;javaX&#xff1a;警告&#xff1a;源发行版 需要目标发行版 简略步…...

CCF-CSP认证 2023年12月 2.因子化简

题解&#xff1a; 通过质数筛法&#xff0c;用个板子函数就行了&#xff0c;计算出质数系数就行了 #pragma GCC optimize(2, 3, "Ofast", "inline") #include <bits/stdc.h> #define endl \n using namespace std; long long int num; const int M…...

基于Vue2与3版本的Element UI与Element Plus入门

基于Vue2与3版本的Element UI与Element Plus入门 Element UI 入门安装引入 Element UI使用组件 Element Plus 入门安装引入 Element Plus使用组件 常用组件自定义主题兼容性和升级社区和支持 Element UI 入门 Element UI 是基于 Vue 2.0 的桌面端组件库&#xff0c;它提供了一…...

Mysql数据库创建自增序列

创建序列表 CREATE TABLE sequence (name varchar(50) NOT NULL,current_value bigint(30) NOT NULL,increment int(11) NOT NULL DEFAULT 1 ) ENGINEInnoDB DEFAULT CHARSETutf8 ROW_FORMATDYNAMIC COMMENT序列表;创建函数 查询当前序列名的序列值 CREATE DEFINERroot% FUNC…...

macOS上用Qt creator编译并跑shotcut

1 简介 Shotcut是一个开源的跨平台的视频编辑软件&#xff0c;支持WIN/MACOS/LINUX等平台&#xff0c;由于该项目的编译较为麻烦&#xff0c;踩坑几许&#xff0c;因此写此文章记录完整编译构建过程&#xff0c;后续按此法编译&#xff0c;可减少走弯路&#xff0c;提高生产力。…...

基于高光谱数据集的创新点实现-高斯核函数卷积神经网络

一、高光谱数据集简介 1.1 数据集简介 数据集链接在这:高光谱数据集(.mat.csv)-科研学术 数据集包含下面三个文件&#xff1a; 文件中包含.mat与.csv,145x145x220, 其实主要使用avirissub.csv文件&#xff0c;在代码上只是将mat文件转成了csv文件。具体avirissub.csv如下&am…...

【python 进阶】 绘图

1. 将多个柱状绘制在一个图中 import seaborn as sns import matplotlib.pyplot as plt import numpy as np import pandas as pd# 创建示例数据 categories [A, B, C, D, E] values1 np.random.randint(1, 10, sizelen(categories)) values2 np.random.randint(1, 10, siz…...

memblock_free_all释放page到buddy,前后nr_free的情况

https://www.cnblogs.com/tolimit/p/5287801.html 在zone_sizes_init 之后&#xff0c;各个node&#xff0c;zone的page总数已知。但是此时的每个order的空闲链表是空的&#xff0c;也就是无法通过alloc_page这种接口来分配。此时page还在memblock管控&#xff0c;需要memblock…...

Django实现websocket

Django实现websocket WebSocket功能使用介绍安装配置WebSocket接口--消息接收者的实现scope通道层 channel layer部署Web客户端连接Mac客户端 WebSocket功能 WebSocket长连接一般用于实现实时功能&#xff0c;例如web端的消息通知、会话等场景。 使用 WebSocket 向 Django 项…...

先进制造aps专题九 中国aps行业分析

国外aps的问题是不给国内客户定制算法 国外aps的算法都很强大&#xff0c;考虑几百个约束条件&#xff0c;各种复杂的工序关系&#xff0c;还有副资源约束特殊规格约束&#xff0c;排程还优化&#xff0c;光c写的算法代码就几十万行甚至上百万行 国内aps的问题是实现不了复杂的…...

力扣hot100:23. 合并 K 个升序链表

23. 合并 K 个升序链表 这题非常容易想到归并排序的思路&#xff0c;俩升序序列合并&#xff0c;可以使用归并的方法。 不过这里显然是一个多路归并排序&#xff1b;包含多个子数组的归并算法&#xff0c;这可以让我们拓展归并算法的思路。 假设n是序列个数&#xff0c;ni是…...

Lightweight Robust Size Aware Cache Management——论文泛读

TOC 2022 Paper 论文阅读笔记整理 问题 现代键值存储、对象存储、互联网代理缓存和内容交付网络&#xff08;CDN&#xff09;通常管理不同大小的对象&#xff0c;例如&#xff0c;Blob、不同长度的视频文件、不同分辨率的图像和小文件。在这种工作负载中&#xff0c;大小感知…...

搜索自动补全-elasticsearch实现

1. elasticsearch准备 1.1 拼音分词器 github地址&#xff1a;https://github.com/infinilabs/analysis-pinyin/releases?page6 必须与elasticsearch的版本相同 第四步&#xff0c;重启es docker restart es1.2 定义索引库 PUT /app_info_article {"settings": …...

连接远程的kafka【linux】

# 连接远程的kafka【linux】 前言版权推荐连接远程的kafka【linux】一、开放防火墙端口二、本地测试是否能访问端口三、远程kafka配置四、开启远程kakfa五、本地测试能否连接远程六、SpringBoot测试连接 遇到的问题最后 前言 2024-5-14 18:45:48 以下内容源自《【linux】》 仅…...

简单的 Cython 示例

1&#xff0c; pyx文件 fibonacci.pyx def fibonacci_old(n):if n < 0:return 0elif n 1:return 1else:return fibonacci_old(n-1) fibonacci_old(n-2) 2&#xff0c;setup.py setup.py from setuptools import setup from Cython.Build import cythonizesetup(ext_mod…...

MediaPipe模型离线部署与本地Demo实战指南

1. MediaPipe模型离线部署全攻略 遇到MediaPipe模型下载失败的问题&#xff0c;相信不少开发者都踩过这个坑。特别是在内网环境或者网络不稳定的情况下&#xff0c;官方自动下载功能经常无法正常工作。我去年在给某制造企业部署智能质检系统时就遇到过类似情况&#xff0c;他们…...

智能客服VS语音转写:不同场景下语音识别评估指标的选择指南

智能客服与语音转写&#xff1a;业务场景驱动的语音识别评估指标决策框架 当企业考虑部署语音识别系统时&#xff0c;技术团队常会抛出一堆专业术语&#xff1a;WER 15%、CER 8%、SER 22%...但对产品经理和解决方案架构师而言&#xff0c;这些数字背后意味着什么&#xff1f;选…...

告别手动配置:用快马AI生成openclaw自动化安装与环境管理脚本

作为一名经常需要配置各种开发环境的程序员&#xff0c;我深刻体会到手动安装工具的繁琐。最近在搭建一个爬虫项目时需要用到openclaw&#xff0c;发现传统安装方式存在几个明显的效率痛点&#xff1a; 版本查找耗时&#xff1a;需要反复在官网和文档间切换&#xff0c;确认最…...

Pikachu靶场实战:File Inclusion漏洞从入门到精通(附防御代码)

Pikachu靶场实战&#xff1a;File Inclusion漏洞攻防全解析 在网络安全领域&#xff0c;文件包含漏洞&#xff08;File Inclusion&#xff09;一直是Web应用渗透测试中的高频发现项。这种看似简单的漏洞类型&#xff0c;却能导致服务器敏感信息泄露甚至完全沦陷。Pikachu靶场作…...

为什么你的Ubuntu实时内核编译失败了?PREEMPT_RT补丁的5个关键配置解析

为什么你的Ubuntu实时内核编译失败了&#xff1f;PREEMPT_RT补丁的5个关键配置解析 在工业自动化、机器人控制和金融交易等对延迟敏感的领域&#xff0c;毫秒级的响应差异可能直接影响系统可靠性。许多开发者选择Ubuntu搭配PREEMPT_RT补丁构建实时系统&#xff0c;却在编译阶段…...

dfs经典例题——迷宫问题(利用二维数组优化方向判断)

思路&#xff1a;首先关于方向问题&#xff0c;我们可以设定一个默认方向&#xff0c;比如先默认向右&#xff0c;触底向下&#xff0c;然后再是向左向上。只需要平行在dfs函数中即可&#xff0c;每次递归会自动依次按照if条件进行合适方向的查找初始量&#xff1a;地图数组&am…...

TOAST UI Chart缩放功能完全指南:如何快速实现数据深入探索

TOAST UI Chart缩放功能完全指南&#xff1a;如何快速实现数据深入探索 【免费下载链接】tui.chart &#x1f35e;&#x1f4ca; Beautiful chart for data visualization. 项目地址: https://gitcode.com/gh_mirrors/tu/tui.chart TOAST UI Chart是一款功能强大的数据可…...

探索marked:高性能Markdown解析的Web开发工具解决方案

探索marked&#xff1a;高性能Markdown解析的Web开发工具解决方案 【免费下载链接】marked A markdown parser and compiler. Built for speed. 项目地址: https://gitcode.com/gh_mirrors/ma/marked 在现代Web开发中&#xff0c;Markdown解析作为内容呈现的关键环节&am…...

实战应用:基于快马平台开发企业内网服务可用性监控系统

今天想和大家分享一个最近用InsCode(快马)平台快速实现的实用项目——企业内网服务可用性监控系统。这个需求来源于我们公司内部的实际痛点&#xff1a;随着服务器数量增加&#xff0c;经常出现某个服务端口异常但没人及时发现的情况。 1. 项目背景与需求分析 我们公司有几十…...

Android 11+ 适配实战:破解TextToSpeech ‘speak failed: not bound to TTS engine‘ 的权限与引擎绑定之谜

1. 当语音突然沉默&#xff1a;Android 11的TTS报错之谜 那天我正在调试一个天气预报应用&#xff0c;当代码执行到语音播报"今天晴转多云"时&#xff0c;控制台突然抛出红字警告&#xff1a;speak failed: not bound to TTS engine。这个错误在Android 10及以下版本…...