十一. 常用类

2024-09-01 07:36
文章标签 常用 十一

本文主要是介绍十一. 常用类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、包装类
    • 1.1 包装类的继承关系
    • 1.2 包装类和基本数据类型的转换
    • 1.3 包装类与String之间的转换
    • 1.4 包装类的常用方法
  • 二、String类
    • 2.1 String类的理解和创建对象
    • 2.2 String的创建方式
    • 2.3 字符串的特性
    • 2.4 String的常用方法
  • 三、StringBuffer和StringBuilder类
    • 3.1 StringBuffer类
      • 3.1.1 StringBuffer类基本介绍
      • 3.1.2 String VS StringBuffer
      • 3.1.3 StringBuffer的构造器
      • 3.1.4 String与StringBuffer之间的转换
      • 3.1.5 StringBuffer类常见方法
    • 3.2 StringBuilder类
    • 3.3 String、StringBuffer与StringBuilder的比较
  • 四、Math类
  • 五、Date日期类、Calender日历类以及新的日期
    • 5.1 第一代日期类
    • 5.2 第二代日期类
    • 5.3 第三代日期类
  • 六、System类
  • 七、Arrays类
  • 八、BigInterger类和BigDecimal
  • 九、经典例题
    • 9.1 Integer的创建机制
    • 9.2 String 相关题

一、包装类

1.1 包装类的继承关系

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.2 包装类和基本数据类型的转换

在这里插入图片描述

public class Test{public static void main(String[] args){int n1 = 12;Integer n2 = n1; // 底层使用 valueOf 方法int n3 = n2; // 底层使用 intValue 方法}
}

1.3 包装类与String之间的转换

public class WrapperVSSring{public static void main(String[] args){// 包装类 (Integer) -> StringInteger i = 100; // 自动装箱// 方式1String str1 = i + "";// 方式2String str2 = i.toString();// 方式3String str3 = String.valueOf(i);// String -> 包装类(Integer)String str4 = "12345";Integer i2 = Integer.parseInt(str4); // 使用到自动装箱Integer i3 = new Integer(str4);}
}

1.4 包装类的常用方法

在这里插入图片描述

二、String类

2.1 String类的理解和创建对象

在这里插入图片描述

在这里插入图片描述

package com.str_;/*** @author Gao YongHao* @version 1.0*/
public class String01 {public static void main(String[] args) {// 1. String 对象用于保存字符串,也就是一组字符序列// 2. "jack" 字符串常量,双引号括起来的字符序列// 3. 字符串的字符使用Unicode字符编码,一个字符(不区分字母还是汉字)占两个字节// 4. String 类有很多构造器,构造器的重载//    常用的有 String s1 = new String();//    String s2 = new String(String original);//    String s3 = new String(char[] a);//    String s4 = new String(char[] a,int startIndex,int count)//    String s5 = new String(byte[] b)// 5. String 类实现 接口 Serializable 【String 可以串行化:可以在网络传输】//                 接口 Comparable [String 对象可以比较大小]// 6. String 是final类,不能被其他类继承// 7. String 有属性 private final char value[];用于存放字符串内容// 8. 一定要注意: value 是一个final类型,赋值后,不可以修改(需要功力):// 即:value不能指向新的地址,但是单个字符内容是可以变化的String name = "jack";name = "tom";final char[] value = {'a','b','c'};char[] v2 = {'t','o','m'};value[0] = 'H'; // 可以修改堆中字符数组空间中的元素
//        value = v2; // 不能修改value的指向}
}

2.2 String的创建方式

在这里插入图片描述

在这里插入图片描述

2.3 字符串的特性

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

package com.str_;/*** @author Gao YongHao* @version 1.0*/
public class String02 {public static void main(String[] args) {String a = "a"; // 在常量池中创建"a"对象String b = "b"; // 在常量池中创建"b"对象// 解读// 1. 先 创建一个 StringBuilder sb = new StringBuilder();// 2. 执行 sb.append("a");// 3. sb.append("abc");// 4. String c = sb.toString()// 最后其实 c 指向堆中的对象(String),value[] -> 池中 "ab"String c = a + b;String d = "ab";System.out.println(c == d); // false}
}

2.4 String的常用方法

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、StringBuffer和StringBuilder类

3.1 StringBuffer类

3.1.1 StringBuffer类基本介绍

在这里插入图片描述

package com.str_;/*** @author Gao YongHao* @version 1.0*/
public class StringBuilder01 {public static void main(String[] args) {// 老韩解读// 1. StringBuilder 的直接父类 是 AbstractStringBuilder// 2. StringBuilder 实现了 Serializable,即StringBuffer的对象可以串行化// 3. 在父类中 AbstractStringBuilder 有属性 char[] value,不是final!// 该 value 数组存放 字符串内容,指向堆中的对象(不同于String 的 value 指向常量池)// 4. String 是 final 类,不能被继承// 5. 因为 StringBuffer 字符内容是存在 char value, 所以在变化(增加/删除)// 不用每次都更换地址(即不是每次创建新对象),所以效率高于 StringStringBuilder stringBuilder = new StringBuilder;}
}

3.1.2 String VS StringBuffer

在这里插入图片描述

3.1.3 StringBuffer的构造器

在这里插入图片描述

3.1.4 String与StringBuffer之间的转换

在这里插入图片描述

3.1.5 StringBuffer类常见方法

在这里插入图片描述

3.2 StringBuilder类

在这里插入图片描述

在这里插入图片描述

package com.str_;/*** @author Gao YongHao* @version 1.0*/
public class StringBuilder01 {public static void main(String[] args) {// 1. StringBuilder 继承 AbstractStringBuilder 类// 2. 实现了 Serializable ,说明 StringBuilder对象时可以串行化(对象可以网络传输,可以保存到文件)// 3. StringBuilder 是final类,不被继承// 4. StringBuilder 对象字符序列是存放在其父类 AbstractStringBuilder 的 char[] value;// 5. StringBuilder 的方法,没有做互斥的处理,即没有synchronized 关键字,因此在单线程的情况下使用// StringBuilderStringBuilder stringBuilder = new StringBuilder();}
}

3.3 String、StringBuffer与StringBuilder的比较

在这里插入图片描述

在这里插入图片描述

四、Math类

在这里插入图片描述

五、Date日期类、Calender日历类以及新的日期

5.1 第一代日期类

在这里插入图片描述

在这里插入图片描述

5.2 第二代日期类

在这里插入图片描述

在这里插入图片描述

5.3 第三代日期类

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

六、System类

在这里插入图片描述

七、Arrays类

在这里插入图片描述

在这里插入图片描述

八、BigInterger类和BigDecimal

在这里插入图片描述

在这里插入图片描述

九、经典例题

9.1 Integer的创建机制

public void main(String[] args){Integer i = new Integer(1);Integer j = new Integer(1);System.out.println(i == j); // 创建两个对象空间,falseInteger m = 1; // 底层 Integer.valueOf(1)Integer n = 1; //  底层 Integer.valueOf(1)System.out.println(i == j); // -128 ~ 127 范围内返回的是缓存中的 Integer 对象,trueInteger x = 128;Integer y = 128;System.out.println(x == y); //  -128 ~ 127 范围内返回的是缓存中的 Integer 对象,falseInteger i1 = 127; // 底层 Integer.valueOf()int i2 = 127;System.out.print(i1 == i2); // 只要有基本数据类型,判断的是值是否相等(即:转换为基本数据类型相比较)
}

9.2 String 相关题

  • String.intern方法解读
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

package com.str_;/*** @author Gao YongHao* @version 1.0*/
public class String02 {public static void main(String[] args) {String a = "a"; // 在常量池中创建"a"对象String b = "b"; // 在常量池中创建"b"对象// 解读// 1. 先 创建一个 StringBuilder sb = new StringBuilder();// 2. 执行 sb.append("a");// 3. sb.append("abc");// 4. String c = sb.toString()// 最后其实 c 指向堆中的对象(String),value[] -> 池中 "ab"String c = a + b;String d = "ab";System.out.println(c == d); // false}
}

这篇关于十一. 常用类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1126323

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

019、JOptionPane类的常用静态方法详解

目录 JOptionPane类的常用静态方法详解 1. showInputDialog()方法 1.1基本用法 1.2带有默认值的输入框 1.3带有选项的输入对话框 1.4自定义图标的输入对话框 2. showConfirmDialog()方法 2.1基本用法 2.2自定义按钮和图标 2.3带有自定义组件的确认对话框 3. showMessageDialog()方法 3.1

工作常用指令与快捷键

Git提交代码 git fetch  git add .  git commit -m “desc”  git pull  git push Git查看当前分支 git symbolic-ref --short -q HEAD Git创建新的分支并切换 git checkout -b XXXXXXXXXXXXXX git push origin XXXXXXXXXXXXXX

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

nginx介绍及常用功能

什么是nginx nginx跟Apache一样,是一个web服务器(网站服务器),通过HTTP协议提供各种网络服务。 Apache:重量级的,不支持高并发的服务器。在Apache上运行数以万计的并发访问,会导致服务器消耗大量内存。操作系统对其进行进程或线程间的切换也消耗了大量的CPU资源,导致HTTP请求的平均响应速度降低。这些都决定了Apache不可能成为高性能WEB服务器  nginx: