尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
十二、常用类
一、Object 类包java.lang所有类的直接 / 间接父类Object 引用可以接收任意对象它的所有方法所有类都可使用。常用方法1.getClass返回对象实际运行类型多用于判断两个对象实际类型是否一致对象1.getClass()对象2.getClass()Animal a1 new Cat(); Animal a2 new Dog(); System.out.println(a1.getClass() a2.getClass());//false2.hashCode()返回对象哈希码整数由对象堆内存十六进制地址转为十进制不同对象一般哈希码不同3.toString()返回对象字符串表现形式用途打印展示对象信息子类一般重写把对象全部属性拼接成字符串返回和 getter 区别get 获取单个属性保留原数据类型toString 返回全部属性拼接的 String 字符串public String toString(){ return namename,ageage; }equals(Object 0)Object 原生源码public boolean equals(Object obj){return (thisobj);}原生是比较地址和equals区别equals(Object o)基本数据类型比较数值不能使用引用类型比较对象地址判断是否同一个对象Object 原生等价于比较地址重写后比较对象内容重写 equals 的标准步骤public boolean equals(Object obj){ //1. 判断是不是同一个对象 if(this obj) return true; //2. 判断obj不为null if(obj null) return false; //3. 判断实际对象类型一致 if(this.getClass() ! obj.getClass()) return false; //4. 强转 Student s (Student)obj; //5. 属性对比基本类型用引用类型用equals return this.age s.age this.name.equals(s.name); }5.finalize()JVM 垃圾回收 GC 时自动调用垃圾对象无任何引用指向的对象GC 触发①自动内存不足时回收全部垃圾对象②手动提示System.gc()只是通知 GC不一定立刻执行注意执行时机不可控不要写核心业务代码二、包装类基本数据类型对应的引用类型基本类型与包装类对照表基本类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean类型转换以 Integer 为例1.int ↔ Integerint→Integernew Integer(12)/Integer.valueOf(12)Ingeter→int:i.intValue()2.String↔ IntegerString→Integernew Integer(123)/Integer.valueOf(123)Integer→Stringi.toString()/i3.int ↔ Stringint→StringaString→int:Integer.parseInt(123)字符串必须纯数字否则抛出NumberFormatException数字格式异常自动装箱基本类型直接赋值包装类Integer i12;底层调用Integer.valueOf(int)自动拆箱包装类直接赋值基本类型int ai;valueOf缓存范围-128~127该区间直接取缓存对象区间外new新对象Integer i1 12; Integer i2 12; System.out.println(i1i2); //true取自缓存 Integer i3 150; Integer i4 150; System.out.println(i3i4); //false创建两个新对象开发场景实体类属性建议用包装类可以区分0和null区分有效数据与未赋值三、创建字符串两种方式1.String s1hello;只在字符串常量池创建1个对象2.String s2new String(world);堆内存创建对象常量池创建对象一共2个对象常量池已有则不再重复创建String常用API方法作用异常说明char charAt(int index)根据下标获取字符下标越界抛出StringIndexOutOfBoundsExceptionboolean contains(String str)判断是否包含子串boolean equals()比较字符串内容开发必须用 equals❌不要用 比较字符串内容int length()获取字符串长度数组是.length属性注意区分String trim()去除字符串前后空格String[] split(String str)按照分隔符切割字符串返回字符串数组遍历字符串示例String s hello; for(int i0;is.length();i){ char c s.charAt(i); System.out.println(c); }String不可变性1.String字面量是常量拼接修改不会改变原字符串会生成新字符串副本2.频繁拼接效率低3.特殊String sab;编译期编译器直接优化为ab只生成1个对象常量相加编译优化四、可变字符串StringBuffer/Stringbuilderjava.lang类版本线程安全效率StringBufferJDK1.0✅线程安全慢StringBuilderJDK5.0❌线程不安全快【优先使用】构造方法new StringBuilder(); //空字符串 new StringBuilder(abc); //传入初始字符串核心方法append内容拼接内容不会产生新对象原地修改拼接效率远高于String面试题String、StringBuilder、StringBuffer区别1.String不可变拼接产生大量新对象效率低线程安全2.StringBuilder可变拼接效率高线程0不安全单线程推荐3.StringBuffer可变拼接效率高线程安全多线程使用五、BigDecimal类java.math解决浮点数计算精度丢失问题做精确小数运算1.构造推荐传入字符串new BigDecimal(0.1),不要直接传double2.四则运算方法返回新BigDecimal对象bd1.add(bd2); //加法 bd1.subtract(bd2); //减法 bd1.multiply(bd2); //乘法 //除法参数2保留小数位数参数3四舍五入模式 bd1.divide(bd2,2,BigDecimal.ROUND_HALF_UP);
RELATED

相关推荐

人走客不走:当员工离职试图带走客户,账号冻结的技术纵深

人走客不走:当员工离职试图带走客户,账号冻结的技术纵深

员工离职带走客户,表面看是职业道德问题,底层其实是企业数据主权与响应速度的博弈。传统做法是事后审计、法律追责,但客户名单已经被复制、转发甚至卖给竞对之后,再完整的追责都只是补救。真正的破局点在于“事中阻断”——在敏感…

📅 2026/10/16 12:24:13
接口测试实战:Postman与JMeter从调试到压测的协同指南

接口测试实战:Postman与JMeter从调试到压测的协同指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/16 12:24:13
机器人泛化与长程任务能力:行业分化的技术标尺

机器人泛化与长程任务能力:行业分化的技术标尺

1. 这不是技术升级,是行业分水岭的现场直播“WRC观察:机器人行业进入分化期,泛化能力与长程任务能力是新标尺”——这句话最近在业内被反复引用,但很多人只把它当作风向标式的口号。我连续三年深度参与WRC(世界机器人大…

📅 2026/10/16 12:24:13
MORE NEWS

更多资讯

📰

DVWA Medium级SQL注入原理与实战突破

1. Medium难度SQL注入的本质:不是绕过过滤,而是重构攻击链 DVWA的Medium级别SQL注入,常被初学者误读为“比Low级多加了几个 mysql_real_escape_string 调用,只要找对绕过方式就能通关”。这种理解从根子上就错了。我带过不少刚接…

📰

STM32F407 HAL库移植FreeModbus从机协议栈实战指南

简介:这是一份基于STM32F407与HAL库移植FreeModbus从机协议的完整工程资源,适用于具备一定STM32开发经验、需要在工业通信场景中快速接入Modbus RTU总线的嵌入式开发者。资源包共687个文件,其中以C源码(384个)和头文件…

📰

P5844米仓:二分答案+前缀和+带权中位数详解

今天继续打卡信奥刷题,正好轮到系列里的第 2941 道:P5844,对应 IOI 2011 原题 ricehub。很多人看到“IOI 原题”四个字就先虚了一半,其实这道题放在如今的省选难度里根本排不上号,核心考的就是二分答案、前缀和、再加上…

📰

MPEG USAC参考代码:低码率语音通信的嵌入式音频解码底牌

简介:本资源为MPEG USAC(Ultra-Spectral Audio Coding)标准的官方参考实现代码包,面向音频编码研究者、嵌入式音频开发工程师及多媒体算法学习者,用于深入理解语音与音乐统一编码的核心机制与工程实现。压缩包含1733个…

📰

MPEG USAC参考代码编译与音频编解码全流程解析

简介:本资源为MPEG USAC(Ultra-Spectral Audio Coding)标准的官方参考实现代码包,面向音频编码研究者、嵌入式音频开发工程师及多媒体算法学习者,用于深入理解语音与音乐统一编码的核心机制与工程实现。压缩包含1733个…

📰

K8s部署Redis生产级实战:持久化、高可用与Helm一站式避坑

聊到k8s安装redis,很多人第一反应是“拉个镜像、起个Deployment不就完事了”。真上手操作你会发现,光是把Pod跑起来只算幼儿园水平,数据不丢、重启不挂、主从能自动切换才是真正的考验。去年某项目上线前,我们所有服务共用一个Red…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬