
👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主
⛪️ 个人社区:个人社区
💞 个人主页:个人主页
🙉 专栏地址: ✅ Java 进阶之路
🙉八股文专题:剑指大厂,手撕 Java 八股文
文章目录
-
-
- 一、包装类
- 二、String类常用方法
- 三、字符串内存分析
- 四、日期类
- 五、BigDecimal
- 六、System
- 七、按值传递和按地址传递
-
一、包装类
Java的包装类(Wrapper Class)是一种特殊的类,用于将基本数据类型(如int、char、boolean等)封装为对象。每种基本数据类型都有对应的包装类,它们位于 包下。
Java的包装类提供了一些方法和属性,用于操作和处理基本数据类型的值。包装类的主要作用有以下几个方面:
- 将基本数据类型转换为对象:包装类允许将基本数据类型转换为对应的对象。例如,可以将一个int类型的值转换为Integer对象。
- 提供了一些方法和属性:包装类提供了一些方法和属性,用于操作和处理基本数据类型的值。例如,Integer类提供了 方法用于将字符串转换为整数。
- 允许在集合中存储基本数据类型:Java的集合框架只能存储对象,而不能直接存储基本数据类型。通过使用包装类,可以将基本数据类型转换为对象,从而在集合中存储基本数据类型的值。
以下是一些常见的包装类及其对应的基本数据类型:
- :对应boolean
- :对应byte
- :对应short
- :对应int
- :对应long
- :对应float
- :对应double
- :对应char
使用包装类可以方便地进行基本数据类型与对象之间的转换和操作。例如,可以使用 包装类的 方法将字符串转换为整数,或者使用 包装类的 方法将整数转换为字符串。
二、String类常用方法
Java中的String类是一个非常常用的类,用于表示和操作字符串。String类位于 包下,不需要额外导入就可以使用。
以下是String类的一些常用方法:
- :返回字符串的长度。
- :返回指定索引位置的字符。
讯享网
- :返回从指定索引开始到指定索引结束的子字符串。
- :返回指定字符串在原字符串中第一次出现的索引位置。
讯享网
- :将字符串中的所有字符转换为大写。
- :将字符串中的所有字符转换为小写。
- :去除字符串两端的空格。
- :将字符串中的指定字符替换为新字符。
这些只是String类的一部分常用方法,还有很多其他方法可以用于字符串的操作和处理。
三、字符串内存分析
在Java中,字符串是不可变的对象,即一旦创建就不能修改其值。当我们创建一个字符串时,它将被存储在内存中的字符串常量池中。字符串常量池是Java运行时环境中的一个特殊区域,用于存储字符串字面量。
当我们创建一个字符串对象时,Java首先检查字符串常量池中是否已经存在相同值的字符串。如果存在,那么新的字符串对象将不会被创建,而是直接引用已经存在的字符串对象。这样可以节省内存空间并提高性能。
让我们来看一个示例:
在上面的示例中, 和 都是使用字符串字面量创建的,它们引用的是同一个字符串对象。而 是通过 关键字创建的,它引用的是一个新的字符串对象。
当我们对字符串进行一些操作时,例如拼接、替换等,每次操作都会创建一个新的字符串对象。原始的字符串对象不会被修改,而是创建一个新的字符串对象来保存操作后的结果。
在上面的示例中,当我们对 进行拼接操作时,实际上是创建了一个新的字符串对象来保存拼接后的结果。
总结起来,Java中的字符串是不可变的对象,每次对字符串进行操作都会创建一个新的字符串对象。这种设计有助于提高性能和安全性,并且可以通过字符串常量池来节省内存空间。
四、日期类
Java中有多个日期类可用于处理日期和时间。其中最常用的是 和 类。

以下是关于这两个类的简要介绍:
- 类:
- 类表示特定的瞬间,精确到毫秒级别。它存储的是从1970年1月1日午夜开始经过的毫秒数。
- 类提供了许多方法来获取和设置日期和时间,例如 、 、 等。
- 类也可以进行日期和时间的计算和比较,例如 、 、 等。
- 类:
- 类是一个抽象类,用于表示日期和时间,并提供了一些方法来操作日期和时间。
- 类可以获取和设置年、月、日、时、分、秒等各个字段的值。
- 类还提供了一些方法来进行日期和时间的计算和比较,例如 、 、 等。
除了上述两个类,Java 8引入了新的日期和时间API,即 包。这个新的API提供了多个类来处理日期和时间,例如 、 、 等。这些类提供了更多的功能和更好的性能,并且更易于使用和理解。
以上是关于Java中日期类的简要介绍。根据具体的需求,您可以选择使用 类、 类或者新的 包中的类来处理日期和时间。
以下是 和 类的一些用法示例:
- 类的用法示例:
- 类的用法示例:
以上是 和 类的一些用法示例。
五、BigDecimal
是 Java 中用于精确表示大数的类。它提供了高精度的浮点运算和舍入操作。下面是 类的一些用法示例:
- 创建 对象:
- 进行基本的算术运算:
- 设置精确的小数位数和舍入模式:
以上是 类的一些用法示例。使用 类可以确保在进行大数运算时获得精确的结果。
六、System
是 Java 中的一个类,它提供了与系统相关的方法和属性。 类包含了一些常用的静态方法,用于访问系统的标准输入、输出、错误流,以及获取系统的属性和当前时间等。
下面是 类的一些常用方法示例:
- 获取当前时间的毫秒数:
- 获取系统的属性:
- 标准输入、输出、错误流:
- 退出程序:
以上是 类的一些常用方法示例。 类提供了访问系统资源和操作的便捷方式,方便开发者在程序中进行相关的操作。
七、按值传递和按地址传递
在Java中,所有的基本数据类型(如int、double等)都是按值传递的,而对象类型(如String、数组等)则是按地址传递的。
按值传递意味着将实际参数的副本传递给方法或函数。这意味着在方法或函数中对参数进行的任何修改都不会影响原始的实际参数。
例如,考虑以下示例:
输出结果为:
可以看到,尽管在 方法中将 的值更改为20,但在 方法中, 的值仍然是10。这是因为基本数据类型按值传递, 方法只是操作了 的副本,而没有影响原始的 。
相反,对象类型是按地址传递的,意味着将实际参数的引用传递给方法或函数。这意味着在方法或函数中对对象进行的修改会影响原始的实际参数。
java基础类和封装类
例如,考虑以下示例:
输出结果为:
可以看到,尽管在 方法中将 的值更改为10,但在 方法中, 的值也变为了10。这是因为对象类型按地址传递, 方法实际上是操作了 数组的引用,所以对数组的修改会影响原始的 。
总结起来,Java中的基本数据类型是按值传递的,而对象类型是按地址传递的。理解这两种传递方式对于正确地编写和理解Java代码非常重要。
精彩专栏推荐订阅:在下方专栏👇🏻
✅ 2023年华为OD机试真题(A卷&B卷)+ 面试指导
✅ 精选100套 Java 项目案例
✅ 面试需要避开的坑(活动)
✅ 你找不到的核心代码
✅ 带你手撕 Spring
💕💕 本文由激流原创,原创不易,希望大家关注、点赞、收藏,给博主一点鼓励,感谢!!!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/7613.html