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);               //true
        System.out.println(t1.equals(t3));        //true
        System.out.println(t1==t2);               //false
        System.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));  //,worl
        System.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());           //0
        System.out.println("初始容量:"+sb.capacity());         //16
        sb.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);                      //!dlrowolleH
        System.out.println("当前初始长度:"+sb.length());       //11
        System.out.println("当前初始容量:"+sb.capacity());     //16
        sb.setLength(5);
        System.out.println("改变长度后:"+sb);                  //!dlro
   } 
}

4、StringBuilder类

        StringBuilder方法:

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

四、类与类之间关系

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

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java位运算及移位运算

java中能表示整数数据类型的有byte、short、char、int、long,在计算机中占用的空间使用字节描述,1个字节使用8位二进制表示。 数据类型字节数二进制位数表示范围默认值byte18-27 – 27-10char2160 – 216-1\u0000 (代表字符为空 转成int就是0)short216-…

【超图】SuperMap iClient3D for WebGL/WebGPU —— 坐标系位置 —— Cartesian2

作者:taco 说到关于地理必然逃不开位置的关系。借用百度百科的内容来说地理学(geography),是研究地球表层空间地理要素或者地理综合体空间分布规律、时间演变过程和区域特征的一门学科。所以位置&坐标系必然逃不掉了。那么在S…

Axure骚操作:【制作可暂停与不可暂停进度加载条】

目录 一、不可暂停进度条 1.1 前期准备 1.2 效果假想 1.3 适用场景 1.4 实现步骤 (1)除按钮外的元件设置隐藏 (2)给按钮添加交互 (3)给变量值文本标签添加交互 (4)给进度条矩…

混凝土支撑模板的安装技巧有哪些?

在建筑工程中,混凝土支撑模板的正确安装对于确保结构的安全和工程的顺利进行至关重要。以下是一些实用的安装技巧,可以帮助施工人员更有效地安装混凝土支撑模板: 1. 熟悉设计和施工图纸 在安装前,彻底熟悉设计和施工图纸是非常重…

深度学习 | Transformer模型及代码实现

Transformer 是 Google 的团队在 2017 年提出的一种 NLP 经典模型,现在比较火热的 Bert 也是基于 Transformer。Transformer 模型使用了 Self-Attention 机制,不采用 RNN 的顺序结构,使得模型可以并行化训练,而且能够拥有全局信息…

回溯法解决工作分派问题

解决这个问题的关键有两个: 1.t数组用来在回溯过程暂时存储工作分配关系 2.ans数组用来保存最终答案 3."恢复现场"操作 4.一维数组st,表示该工作是否已经被选 5.solve第k层递归表示第k个人,for循环罗列的是工作.这样,比k表示工作,for循环枚举人更加符合我们的直…

基于C#的机械臂欧拉角与旋转矩阵转换

欧拉角概述 机器人末端执行器姿态描述方法主要有四种:旋转矩阵法、欧拉角法、等效轴角法和四元数法。所以,欧拉角是描述机械臂末端姿态的重要方法之一。 关于欧拉角的历史,由来已久,莱昂哈德欧拉用欧拉角来描述刚体在三维欧几里…

Ubuntu 18.04搭建RISCV和QEMU环境

前言 因为公司项目代码需要在RISCV环境下测试,因为没有硬件实体,所以在Ubuntu 18.04上搭建了riscv-gnu-toolchain QEMU模拟器环境。 安装riscv-gnu-toolchain riscv-gnu-toolchain可以从GitHub上下载源码编译,地址为:https://…

21 UVM printer

uvm_printer 类提供了以不同格式打印 uvm_objects 的灵活性。我们已经讨论了使用 uvm_field_* 宏的 print() 方法,或者如果不使用 utils_begin/ end 宏,则编写 do_print() 方法。 UVM printer提供四种内置printer。 uvm_printeruvm_table_printeruvm_t…

Nginx解决跨域问题过程

学习Nginx解决跨域问题 结果 server {listen 22222;server_name localhost;location / {if ($request_method OPTIONS) {add_header Access-Control-Allow-Origin http://localhost:8080;add_header Access-Control-Allow-Headers *;add_header Access-Control-Allo…

vue3-11

后端Java代码 src\router\a6router.ts文件 import { createRouter, createWebHashHistory } from vue-router import { useStorage } from vueuse/core import { Menu, Route } from ../model/Model8080 const clientRoutes [{path: /login,name: login,component: () > …

odoo17 | 开发环境设置

前言 开始odoo17开发之前,请先掌握python的基本语法和工具包的使用,以及postgres数据库的安装,和简单的sql使用。以及一些前端的html、css、javascript等前端知识,以及xml、json等数据传输的使用。 本教程同时适用于odoo15-17 …

[ffmpeg系列 02] 音视频基本知识

一 视频 RGB&#xff1a;rgb24, AV_PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB… Y&#xff1a;明亮度, Luminance或luma, 灰阶图&#xff0c; UV&#xff1a;色度&#xff0c;Chrominance或Chroma。 YCbCr: Cb蓝色分量&#xff0c;Cr是红色分量。 取值范围&am…

【LMM 001】大型语言和视觉助手 LLaVA

论文标题&#xff1a;Visual Instruction Tuning 论文作者&#xff1a;Haotian Liu, Chunyuan Li, Qingyang Wu, Yong Jae Lee 作者单位&#xff1a;University of Wisconsin-Madison, Microsoft Research, Columbia University 论文原文&#xff1a;https://arxiv.org/abs/230…

【力扣题解】P530-二叉搜索树的最小绝对差-Java题解

&#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【力扣题解】 文章目录 【力扣题解】P530-二叉搜索树的最小绝对差-Java题解&#x1f30f;题目描述&#x1f4a1;题解&…

Casper Network 推出 “DevRewards” 计划:允许所有开发者赚取激励

Casper Association 是一个致力于推动区块链大规模采用的非营利组织&#xff0c;该组织在 Casper Network 系统中推出了一个被称为 “DevRewards ” 的奖励计划&#xff0c;旨在邀请开发者提交能够解决现有问题的创新技术方案&#xff0c;以帮助 Casper Network 系统进一步完善…

modelsim安装使用

目录 modelsim 简介 modelsim 简介 ModelSim 是三大仿真器公司之一mentor的产品&#xff0c;他可以模拟行为、RTL 和门级代码 - 通过独立于平台的编译提高设计质量和调试效率。单内核模拟器技术可在一种设计中透明地混合 VHDL 和 Verilog&#xff0c;常用在fpga 的仿真中。 #…

初探Listener内存马

Listener基础 配置Listener . xml配置 流程分析 读取配置文件 读取web.xml&#xff0c;处理后将信息存储在webXml中 配置context 直接遍历并添加至addApplication中 以上步骤就是将webxml中的listener相关的数据添加到ApplicationListener 接下来直接跟进到listenerStart …

【VRTK】【VR开发】【Unity】18-VRTK与Unity UI控制的融合使用

课程配套学习项目源码资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【背景】 VRTK和Unity自身的UI控制包可以配合使用发挥效果。本篇就讨论这方面的实战内容。 之前可以互动的立体UI并不是传统的2D UI对象,在实际使用中…

主成分分析(PCA):探索数据的核心

文章目录 前言1. 什么是 PCA &#xff1f;2. PCA 的原理2.1 协方差和方差2.2 核心思想2.3 步骤 3. PCA 的应用场景4. PCA 的优缺点5. 示例&#xff1a;人脸识别5.1 完整代码5.2 运行结果 结语 前言 当今社会&#xff0c;数据无处不在。从社交媒体到金融交易&#xff0c;从医疗…