Java常用类

Java常用类和基础API 获取"ab"在"abkkcadkabkebfkabkskab"中出现的次数。(1)定义用户类,属性为用户名和密码,提供相关的getter和setter方法,构造器,tostring()使用LocalDateTime获取当前时间,把这个时间设置为你的生日,再获取你的百天(出生后100天)日期。使用Calendar获取当前时间,把这个时间设置为你的生日,再获取你的百天(出生后100天)日期。//存储字符串数据的容器。字符串常量池,在不同的jdk版本中,存放位置不同。字符串常量池不允许存放两个相同的字符串常量。 阅读详情

在这里插入图片描述
在这里插入图片描述

字符串相关的类

String

一.特性

  • String:字符串,使用一对""引起来表示。
  • String声明为final的,不可被继承。
  • String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小。
  • String内部定义了final char[] value用于存储字符串数据。
  • String:代表不可变的字符序列。简称:不可变性。
    体现:当对字符串重新赋值时,当对现有的字符串进行连接操作时,当调用String的replace()方法修改指定的字符或字符串时,需要重写指定内存区域赋值,不能使用原有的value进行赋值。
  • 通过字面量的方式(区别于new)给一个字符赋值,此时的字符串值声明在字符串常量池中。
  • 字符串常量池中是不会存储相同内容的字符串。
  • String的实例化方式
    方式一:通过字面量定义的方式 (声明在方法区中的字符串常量池里)
    方式二:通过new+构造器的方式 (对象保存的地址值是数据在堆空间中开辟空间以后对应的地址值)

结论
1.常量和常量的拼接结果在常量池,且常量池不会存在相同内容的常量。

2.只要其中一个是常量,结果就在堆中。

3.如果拼接的结果调用了intern()方法,返回值在常量池中。

面试题:String s = new String(“abc”)方式创建对象,在内存中创建了几个对象?
A:两个。一个是堆空间中new结构,另一个是char[]对应的常量池的数据:“abc”。

二.常用方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三.之间的转换

String与char[]之间的转换

  • String -----> char[]:调用String的ToCharArray()
  • char[] -----> String:调用String的构造器

String与byte[]之间的转换

  • 编码(看得懂 -----> 看不懂的二进制数据):String -----> byte[]:调用String的getBytes()
  • 解码(看不懂的二进制数据 -----> 看得懂):byte[] -----> String:调用String的构造器
  • ps:解码时,要求解码使用的字符集必须与编码使用的字符集一致,不然会出现乱码。

StringBuffer和StringBuilder

一.异同

String:不可变的字符序列;底层使用char[]存储
StringBuffer:可变的字符序列;线程安全,效率低;底层使用char[]存储
StringBuilder:可变的字符序列;(JDK5.0新增的)线程不安全,但效率高;底层使用char[]存储

扩容问题:如果要添加的数组底层盛不下了,那就需要扩容底层的数组。默认情况下,扩容到原来容量的2倍+2,同时将原有的数组元素复制到新的数组中。

效率的对比
从高到低:StringBuilder > StringBuffer > String

二.常用方法

在这里插入图片描述
在这里插入图片描述

JDK8之前的日期时间API

System类

在这里插入图片描述

Date类

在这里插入图片描述
1.两个构造器的使用

  • Date():创建一个对应当前时间的Date对象
  • Date(long date):创建指定毫秒数的Date对象

2.两个方法的使用

  • toString():显示当前的年月日时分秒
  • getTime():获取当前对象对应的毫秒数(时间戳)

3.java.sql.Date对应着数据库中的日期类型的变量

  • 如何实例化
  • 如何将java.util.Date对象转换成java.sql.Date对象
    在这里插入图片描述

SimpleDateFormat类

一.两个操作

1.格式化

日期 --------> 字符串
(按照指定的格式进行格式化和解析:调用带参的构造器)

2.解析(格式化的逆过程)

字符串 --------> 日期
解析:要求字符串必须是符合SimpleDateFormat识别的格式(通过构造器识别),否则会抛异常。

二.课后习题

1.将字符串"2020-08-17"转换成java.sql.Date
import org.junit.Test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatTest {
    @Test
    public void testExer() throws ParseException {
        String birth = "2020-08-17";
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
        Date date = sdf1.parse(birth);
        java.sql.Date birthDate = new java.sql.Date(date.getTime());
        System.out.println(birthDate);
    }
}
2.“三天打鱼两天晒网” 从date1:1990-01-01开始,问xxxx-xx-xx是在晒网还是打渔?

举例date2:2020-08-09 分析
总天数%5 == 1,2,3则是打渔

总天数%5 == 4,0则是晒网

总天数的计算
①先换成毫秒数,相减后转换成天数
(date2.getTime() - date1.getTime()) / (1000 * 60 * 60 * 24) + 1

②直接算天数

Calendar类

一.实例化

1.创建其子类(GregorianCalendar)的对象
2.调用其静态方法getInstance()

二.常用方法

  • get()
  • set()
  • add()
  • getTime():日历类 -------> Date
  • setTime():Date -------> 日历类

JDK8中新日期时间API

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

LocalDate LocalTime LocalDateTime

类似于Calendar
在这里插入图片描述

  • now():获取当前的日期,时间,日期 + 时间
  • of():获取指定的年月日时分秒,没有偏移量
  • getXxx():获取相关的属性
  • withXxx():设置相关的属性

LocalDateTime相较于其他两个使用频率更高

Instant

类似于java.util.Date类
在这里插入图片描述
now():获取本初子午线对应的标准时间

DateTimeFormatter类

类似于SimpleDateFormat
在这里插入图片描述
格式化:日期 -------> 字符串
解析:字符串 ----------> 日期

其他类

在这里插入图片描述
在这里插入图片描述

Java比较器

Java中的对象,在正常情况下,只能进行比较:==或 !=,不能使用> 或 <,但是在开发场景下,我们需要对多个对象进行排序,言外之意,就是要比较对象的大小。如何实现,就要使用两个接口中的任何一个:Comparable, Comparator

Comparable接口(自然排序)

1.像String,包装类等实现了Comparable接口,重写了compareTo(obj)方法,给出了比较两个对象大小的方法。

2.像String,包装类重写了compareTo(obj)方法以后,进行了从小到大的排列。

3.重写compareTo(obj)方法的规则
在这里插入图片描述
4.对于自定义类来说,如果需要排序,我们可以让自定义类实现Comparable接口,重写compareTo(obj)方法。在compareTo(obj)方法中指明如何排序

Comparator接口

在这里插入图片描述
两者的对比
Comparable接口的方式一旦指定,保证Comparable接口实现类的对象在任何位置都可以比较大小。而Comparator接口属于临时类的比较。

System类

在这里插入图片描述
在这里插入图片描述

Math类

在这里插入图片描述

BigInteger BigDecimal

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基于Qwen3-14B大模型的智能UI自动化测试实践 UI自动化测试是软件工程中保障产品质量的关键环节,其核心原理是通过脚本模拟用户操作,对软件界面进行功能验证。传统方法依赖于编写和维护基于元素定位的固定规则脚本,在面对复杂交互或频繁变化的界面时,维护成本高昂。大语言模型(LLM)的出现为这一领域带来了新的技术价值,其强大的自然语言理解和代码生成能力,使得测试脚本的编写从精确编码转向了任务描述。通过将大模型作为决策大脑,结合Playwright等自动化工具作为执行器,可以构建出能够理解界面、规划操作并验证结果的智能测试系统。这种方案特别适用于处理变化频繁、逻辑 阅读详情

相关推荐

Halcon实战:基于图像清晰度自动筛选最佳对焦图片

本文详细介绍了如何使用Halcon实现基于图像清晰度的自动筛选最佳对焦图片技术。通过分析灰度值统计和标准差等核心指标,结合实战代码示例,帮助开发者高效处理工业检测中的对焦问题,提升自动化检测的准确性和效率。

weixin_27015733的博客 442

浅谈Java之触发器用法

在Java中,触发器(Trigger)通常指的是一种设计模式,它是命令模式的一种扩展。触发器模式允许用户通过预定义的接口发送命令,然后由触发器在某个特定时间或条件下执行这些命令。

a876106354的博客 1555

802.1AS-2011_Gptp协议栈

GPTP(广义时钟同步协议,或IEEE 802.1AS)的基本功能是确保局域网中所有的时钟都同步,并提供时间信息。这种协议用于在局域网中进行同步和时间对齐,其目的是确保网络中各设备的时间一致性。

weixin_49041703的博客 2544

Java定时任务Quartz之触发器Trigger(二)

文章目录一、触发器`Trigger`种类二、触发器`Trigger`实例2.1. `Trigger`常用属性2.1.1. `TriggerKey`2.1.2. 开始和结束时间2.1.3. 优先级2.1.4. 过期策略2.2. 产生错失/补偿的原因三、`Cron`表达式3.1. 简述3.2. 结构3.3. 特殊字符含义3.4. 常用实例3.4. 对于`CronTrigger`触发器写法3.4.1. 主要写法3.4.2. 其他方式四、参考文章 一、触发器Trigger种类 从类的继承图上可以看出一共有四种:

学习和工作总结,共勉! 5710

用友U8库龄分析避坑指南:物料出入库日期计算的5个常见错误

本文深入剖析了在用友U8系统中进行库龄分析时,物料出入库日期计算的五个常见陷阱。从数据源选择、业务类型过滤、计价方式逻辑、期初数据处理到查询性能优化,逐一解析错误根源并提供避坑指南,帮助企业获得准确的库龄数据,有效管理库存与资金风险。

weixin_29209801的博客 456

基于线性光耦HCNR200的高压直流采样电路设计与精度优化

本文详细介绍了基于线性光耦HCNR200的高压直流采样电路设计与精度优化方法。针对直流高电压测量中的安全与干扰问题,提出采用HCNR200光耦隔离方案,实现高精度线性传输。文章深入解析电路设计关键细节,包括电阻网络、运放选型、滤波电容配置等,并提供精度优化实战技巧与常见问题排查指南,助力新能源电动汽车和高压储能系统的高压直流采样应用。

weixin_42713608的博客 580

触发器-trigger

这两张是逻辑表也是虚表。Inserted表的数据是插入或是修改后的数据,而deleted表的数据是更新前的或是删除的数据。当在定义有触发器的表上执行UPDATE语句时,原始行(前像)被移入到deleted表,更新行(后像)被移入到inserted表。当它检测到指定列已经更新时,触发器就会进一步执行适当的动作,例如发出错误信息指出该列不能更新,或者根据新的更新的列值执行一系列的动作语句。例如,触发器可以使用另一个表中的 SELECT 比较插入或更新的数据,以及执行其它操作,如修改数据或显示用户定义错误信息。

wys0127的博客 2536

Fluent DPM模型保姆级教程:三通管颗粒流动模拟,从网格导入到轨迹图生成

本文提供Fluent DPM模型在三通管颗粒流动模拟中的保姆级教程,涵盖从网格导入到轨迹图生成的全流程。通过详细步骤和参数设置,帮助用户掌握DPM模型在颗粒流动模拟中的关键技巧,适用于化工、能源等领域的工程应用。

weixin_30615767的博客 579

Quartz教程四--Trigger介绍

与job一样,trigger也很容易使用,但是还有一些扩展选项需要理解,以便更好地使用quartz。trigger也有很多类型,可以根据实际需要来选择。 最常用的两种trigger会分别在教程五:SimpleTriggers和教程六:CronTrigger中讲到; Trigger的公...

chunchuanhuan8061的博客 377

电子病历编辑器源码(Springboot+原生HTML)

应用场景包括:电子病历书写、体温单录入、全平台信息采集、检验检查报告、不良事件上报等。 此外,电子病历编辑器软件还适用于医生工作站的病历编辑、护士工作站的护理记录输入、PASC/LIS/RIS报告编辑打印、病案首页、出院小结、病程记录、手术记录、各种知情书、康复及精神学科用的量表、临床路径用表单界面等等。 这些应用场景都涉及到了医疗文书编辑的需求,因此电子病历编辑器软件在这些场景中具有广泛的应用价值。

xingchen优快云的博客 3896

18、深入解析航空飞行数据中的秘密:从数据清理到高级分析

本文详细解析了如何使用R语言处理和分析航空飞行数据,从基础的数据清理到复杂的回归分析和机器学习模型构建。文章涵盖了探索性数据分析、天气数据的整合、地理信息可视化、时间序列预测以及航班延误的优化策略等内容,展示了如何通过数据挖掘技术提高航空运营效率和乘客满意度,并探讨了数据质量评估与隐私保护的重要性。

convnet3designer的博客 107

关于java触发器的经验分享

触发器是我们在日常中经常使用,但近来却发现了这样一个问题:触发定制时间小于程序执行时间的问题,网络上有很多相关答案,可是我执行以后结果却大相径庭,于是做一番跟踪探索,今天和大家分享一下! 工具/原料 Eclipse win7 quartz框架 方法/步骤 1 今天遇到一个问

StarLOVELeaf的博客 5956

PCL 欧式聚类分割【2026最新版】

PCL中欧式聚类提取算法原理详解、代码实现以及一个大自然场景地物分割提取并保存分割结果到本地文件夹的应用案例。

点云侠的博客 40万+

【关于Java的常用类】

本文系统梳理了Java常用核心类的特性和最佳实践。重点包括:1)String的不可变性及高效拼接方法;2)集合框架中ArrayList、HashMap等数据结构的选型策略;3)日期处理推荐使用线程安全的java.time包;4)精确计算必用BigDecimal;5)工具类Objects的安全用法。针对常见面试问题,如String设计原理、HashMap底层机制等给出了专业解答。文章强调根据业务场景选择合适类库,如单线程用StringBuilder、高并发用ConcurrentHashMap、金融计算用Big

weixin_64178283的博客 1603

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java08 API常用类

String.format(要格式化输出的数组,动态参数),动态参数指的是原字符串中被占位符占用位置的真正参数----------------------静态方法---------------------------------返回值为String型字符串。str.getByte(“编码格式”),UTF-8:一个汉字占三个字节,GBK:一个汉字占两个字节---------------------------------------------------------------返回值为byte型数组。

Stringzhua的博客 1315

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java(3)常用类

@目录Java常用类一、字符串相关的类1、String类2、StringBuffer类3、StringBuilder类二、JDK8以前的日期时间API1、java.lang.System类2、java.util.Date类3、java.text.SimpleDateFormate类4、java.util.Calendar类三、JDK8中新的日期时间API1、LocalDate、Local...

刘志先的博客 654

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java常用类之要点总结

Java常用类之要点总结

Java仗剑走天涯 878

Java常用类总结

Object、包装类、System、Scanner、BigInteger、BigDecimal、Math、Random、File、Date、SimpleDateFormat、Calendar、Arrays、String……

https://www.hyperplasma.top 2046

JAVA笔记(常用类)

而 StringBuffer 是可变的,可以在原有对象的基础上进行修改,这在需要频繁修改字符串的场景下可以提高效率,避免频繁创建新对象带来的性能开销。这些类包括`LocalDate`(表示日期)、`LocalTime`(表示时间)、`LocalDateTime`(表示日期和时间)、`ZonedDateTime`(表示带时区的日期和时间)等。• `replace(int start, int end, String str)`:从指定的开始位置(start)到结束位置(end)替换为新的字符串(str)。

2401_82568471的博客 917

5Java常用类

Java常用类,Object,Arrays,基本类型包装,String,Math,Date类

m0_63067102的博客 1348

JAVA 常用类

常用类

成长之路 429

Java(三)常用类

文章目录Java常用类一、字符串相关的类1、String类2、StringBuffer类3、StringBuilder类二、JDK8以前的日期时间API1、java.lang.System类2、java.util.Date类3、java.text.SimpleDateFormate类4、java.util.Calendar类三、JDK8中新的日期时间API1、LocalDate、LocalTime、LocalDateTime2、瞬时:Instant3、格式化与解析4、其他API四、Java比较器1、说明2、

刘志先的博客 1291

Java语法进阶之常用类

主要讲解了java的一些常用类。比如字符串、包装类、日期时间等等

程序员大凯的博客 1588
上一篇: Java 多线程
下一篇: PTA 堆栈模拟队列
ZoeLandia
博客等级 码龄6年 734粉丝 183原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值