CUMT--Java复习--核心类

目录

一、装箱与拆箱

二、“==”与equals

三、字符串类 

1、String、StringBuffer、StringBuilder的区别

2、String类

3、StringBuffer类 

4、StringBuilder类

四、类与类之间关系


一、装箱与拆箱

        基本类型与对应封装类之间能够自动进行转换,本质就是Java的自动装箱和自动拆箱过程。

        装箱:将基本类型数据值转换成对应的封装类对象,即将栈中的数据封装成对象存放到堆中的过程。

        拆箱:将封装的对象转换成基本类型数据值,即将堆中的数据值存放到栈中的过程。

Integer obj=10; //装箱

int a=obj;           //拆箱

二、“==”与equals

        “==”判断的是地址一致问题,如果同一个值引用或者间接传入,都会返回true。

        equals判断的是值一致问题,只要值相同就返回true,或者改写equals函数,那就要根据实际问题分析值是否一致了。

        注意一定是使用类实例化对象的方法,如果用int的话都是true。另外在version 9之后已经认为这种方法deprecated,真别讲这个东西了。

public class test {public static void main(String[] args) {Integer t1=new Integer(1);          //整型对象,当作类分析,存在堆中Integer t2=new Integer(1);Integer t3=t1;System.out.println(t1==t3);               //trueSystem.out.println(t1.equals(t3));        //trueSystem.out.println(t1==t2);               //falseSystem.out.println(t1.equals(t2));        //true}
}

三、字符串类 

1、String、StringBuffer、StringBuilder的区别

        String:创建的字符串是不可变的,如果改变字符串的值,需要创建新字符串,将字符串变量引用新创建的字符串地址,而原字符串在内存中仍然存在内容不变,直至垃圾回收系统销毁。

        StringBuffer:创建的字符串是可变的,当使用StringBuffer创建一个字符串时,可以通过append(),insert(),setCharAt()等方法进行改变,而字符串变量引用的地址不变,最终调用toString()方法转换成一个String对象,线程安全的

        StringBuilder:可变字符串,不是线程安全的

2、String类

        String类方法:

        代码实例:

public class stringtest {public static void main(String[] args) {String str="Hello,world!";System.out.println("长度:"+str.length());System.out.println("下标为5开始的子串"+str.substring(5));            //,world!System.out.println("下标为5开始10结束的子串"+str.substring(5, 10));  //,worlSystem.out.println("全部小写:"+str.toLowerCase());System.out.println("全部大写:"+str.toUpperCase());} 
}

3、StringBuffer类 

        StringBuffer 方法:

        代码实例:

public class stringtest {public static void main(String[] args) {StringBuffer sb=new StringBuffer();System.out.println("初始长度:"+sb.length());           //0System.out.println("初始容量:"+sb.capacity());         //16sb.append("world!");System.out.println("追加后:"+sb);                      //world!sb.insert(0,"Hello ");System.out.println("插入后:"+sb);                      //Hello world!sb.replace(5,6,",");System.out.println("替换后:"+sb);                      //Hello,world!sb.delete(5,6);System.out.println("删除后:"+sb);                      //Helloworld!sb.reverse();System.out.println("反转后:"+sb);                      //!dlrowolleHSystem.out.println("当前初始长度:"+sb.length());       //11System.out.println("当前初始容量:"+sb.capacity());     //16sb.setLength(5);System.out.println("改变长度后:"+sb);                  //!dlro} 
}

4、StringBuilder类

        StringBuilder方法:

        StringBuilder类的方法的运行与StringBuffer类的方法运行一致。 

四、类与类之间关系

        继承、实现、依赖、关联、聚合、组成

        成员内部类和静态内部类的区别:

—— 成员内部类:必须寄生在外部类对象里

—— 静态内部类:静态内部类是属于类的,不依赖于外部类的对象

参考书籍:《Java 8 基础应用与开发》QST青软实训编

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/590070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

强烈推荐 25个 前端开源中后台管理系统

作为程序员,构建一套个人专属的后台管理系统非常重要。这不仅是为了打造自己独有的开发生态,更是因为我们正处于个人开发和AI模型泛滥的时代。利用AI增强自己的系统变得尤为关键。然而,在UI界面设计方面,我们可能需要参考开源项目…

mysql原理--Explain详解

1.概述 一条查询语句在经过 MySQL 查询优化器的各种基于成本和规则的优化会后生成一个所谓的 执行计划 ,这个执行计划展示了接下来具体执行查询的方式,比如多表连接的顺序是什么,对于每个表采用什么访问方法来具体执行查询等等。设计 MySQL 的…

实时交通标志检测和分类(代码)

交通标志检测和分类技术是一种基于计算机视觉和深度学习的先进技术,能够识别道路上的各种交通标志,并对其进行分类和识别。这项技术在智能交通系统、自动驾驶汽车和交通安全管理领域具有重要的应用前景。下面我将结合实时交通标志检测和分类的重要性、技…

第9章 继承和派生习题(详解)

一、选择题 1.下列表示引用的方法中, () 是正确的。已知:int m10: A.int &xm; B.int &y10; C.int &z; D.fl…

Java中利用Redis,ZooKeeper,数据库等实现分布式锁(遥遥领先)

1. 分布式锁 1.1 什么是分布式锁 在我们进行单机应用开发涉及并发同步的时候,我们往往采用synchronized或者ReentrantLock的方式来解决多线程间的代码同步问题。但是当我们的应用是在分布式集群工作的情况下,那么就需要一种更加高级的锁机制&#xff0…

合伙企业法关于合伙企业的要求

合伙协议可以载明合伙企业的经营期限和合伙人争议的解决方式。 合伙协议经全体合伙人签名、盖章后生效。合伙人依照合伙协议享有权利,承担责任。 经全体合伙人协商一致,可以修改或者补充合伙协议。 申请合伙企业设立登记,应当向企业登记机关提…

个人信息出境标准合同备案政策解读、案例分析与合规指引

文章目录 前言一、政策背景1、 政策解读2、适用范围3、《标准合同办法》和《备案指南》的适用范围二、备案方式三、备案流程四、两种数据出境合规方式对比五、标准合同备案“三步走”合规指引路线六、总结前言 本文将结合《备案指南》和各地备案指引,解读备案规定要求、分析各…

git rebase应用场景三

文章目录 git rebase应用场景三 git rebase应用场景三 在我们的开发分支中 假设我们修改一个文件 提交一个版本 再回到master分支 同时也去修改1.txt文件,提交一个版本 这样相当于master分支提交了一次,dev也提交了一次 然后回到dev分支 此时会报错…

事务失效的十种常见场景

学习事务失效场景 1 概述 事务的传播类型isolationTransactionnal注解属性 事务方法未被Spring管理方法使用final类型修饰非public修饰的方法同一个类中的方法相互调用方法的事务传播类型不支持事务异常被内部catch,程序生吞异常数据库不支持事务未配置开启事务错…

【Linux】修复 Linux 错误 - 主机已关闭

修复 Linux 错误 - 主机已关闭 在使用 Linux 操作系统时,有时会遇到一些错误。其中一个常见的错误是“主机已关闭”(Host is down)。当您尝试连接到另一台计算机或服务器时,可能会收到此错误消息。本文将介绍如何诊断和修复此错误。 1. 检查网络连接 首先,您需要确保您…

【ChatGPT 默认强化学习策略】PPO 近端策略优化算法

PPO 近端策略优化算法 PPO 概率比率裁剪 演员-评论家算法演员-评论家算法:多智能体强化学习核心框架概率比率裁剪:逐步进行变化的方法PPO 目标函数的设计重要性采样KL散度 PPO 概率比率裁剪 演员-评论家算法 论文链接:https://arxiv.org…

Oracle-深入了解cache buffer chain

文章目录 1.Cache buffer chain介绍2.Buffer cache的工作原理3 Buffer chains4.Multi-versioning of Buffers5.Latches6.诊断CBC latch等待7.解决 CBC Latch等待 1.Cache buffer chain介绍 经常看到会话等待事件“latch:cache buffers chain”。 如果想知道意味着什…

FA对接FC流程

2、FA进行对接 (1)首先安装好AD域控服务器DHCPDNS(注意,不要忘记了做DNS正反向解析,就是把已经安装了ITA的主机做解析),在里面创建域用户 (2)安装ITA和VAG/VLB&#xf…

SLAM学习入门--计算机视觉一

文章目录 计算机视觉IoU如何计算 mIoU?mAP计算机视觉 IoU IoU(Intersection over Union),又称重叠度/交并比。 1 NMS:当在图像中预测多个proposals、pred bboxes时,由于预测的结果间可能存在高冗余(即同一个目标可能被预测多个矩形框),因此可以过滤掉一些彼此间高重…

2024孙多勇®跨年演讲,重塑医美增长力,开启璀璨华章!

不谋万事者,不足谋一时;不谋全局者,不足谋一域。明者因时而变,智者随时而制。 12月31日-1月3日由汇成医美集团主办的,以“重塑医美增长力”为主题的第七届孙多勇跨年演讲暨「英雄2024」年度战略规划案,在中…

权威Scrum敏捷开发企业培训分享

课程简介 Scrum是目前运用最为广泛的敏捷开发方法,是一个轻量级的项目管理和产品研发管理框架。 这是一个两天的实训课程,面向研发管理者、项目经理、产品经理、研发团队等,旨在帮助学员全面系统地学习Scrum和敏捷开发, 帮助企业快速启动敏…

Keras加载预训练模型

Keras库提供了一种方便的方式来加载预训练模型。预训练模型通常是在大型数据集上训练的,如ImageNet,这些模型已经学习到了大量的特征和模式。通过加载预训练模型,我们可以利用这些学到的知识来加速我们的模型训练过程,或者直接使用…

用VSCode Remote-SSH做Docker环境中的开发

概述 为什么会有用VSCode做Docker环境中的开发这个话题? 因为我们开发的主要内容是在Docker环境内,所以如果使用一般的Host环境下的VSCode,会有很多Path、Lib对不上的问题。 为了解决这个问题,以前我们是在Docker里引入Host的VS…

基本名词解释

响应时间(Response Time,RT) 响应时间是指Web应用对用户的请求做出响应的时间。 吞吐量(Throughput) 吞吐量是指系统在单位时间内处理请求的数量。 QPS(每秒查询数) QPS是对一个特定的查询服…

Excel模板填充:从minio上获取模板使用easyExcel填充

最近工作中有个excel导出的功能,要求导出的模板和客户提供的模板一致,而客户提供的模板有着复杂的表头和独特列表风格,像以往使用poi去画是非常耗时间的,比如需要考虑字体大小,单元格合并,单元格的格式等问…