十一. 常用类

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

相关文章

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

MySQL字符串常用函数详解

《MySQL字符串常用函数详解》本文给大家介绍MySQL字符串常用函数,本文结合实例代码给大家介绍的非常详细,对大家学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql字符串常用函数一、获取二、大小写转换三、拼接四、截取五、比较、反转、替换六、去空白、填充MySQL字符串常用函数一、

Java中Arrays类和Collections类常用方法示例详解

《Java中Arrays类和Collections类常用方法示例详解》本文总结了Java中Arrays和Collections类的常用方法,涵盖数组填充、排序、搜索、复制、列表转换等操作,帮助开发者高... 目录Arrays.fill()相关用法Arrays.toString()Arrays.sort()A

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

golang中reflect包的常用方法

《golang中reflect包的常用方法》Go反射reflect包提供类型和值方法,用于获取类型信息、访问字段、调用方法等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录reflect包方法总结类型 (Type) 方法值 (Value) 方法reflect包方法总结