目录
1.集合
2.包装类
3.日期处理以及格式化
4.字符串处理类
5.数组
5.BigDecimal
6.Math
毋庸置疑,集合在实际项目的使用概率几乎是百分之百。无论是用于数据存储和管理、去重和查找亦或是数据检索和遍历,都离不开集合的使用。任何一个项目,都绕不开它。
你需要掌握的有:
包括List(ArrayList、LinkedList)、Map(HashMap、TreeMap)、Set(HashSet、TreeSet)
包装类(Wrapper classes)在Java中用于将基本数据类型转换为对象。这些类提供了一些方法和功能,使得基本数据类型能够像对象一样操作,也是Java集合框架中存储基本数据类型的必要组成部分。以下是包装类在实际工作中的几个常见用途:
在集合中存储基本数据类型:集合框架只能存储对象,而不能直接存储基本数据类型。包装类使得基本数据类型可以被存储在集合类(如 List
、Set
、Map
)中。
作为方法参数或返回值:有时候需要将基本数据类型传递给方法,但方法的参数类型只能是对象。这时可以使用包装类作为方法参数或返回值,从而将基本数据类型包装成对象。
处理与字符串之间的转换:包装类提供了与字符串之间的转换方法,可以方便地将字符串与基本数据类型之间进行转换。
处理数字和文本的格式化:包装类提供了格式化数字和文本的方法,可以将数字格式化为特定的字符串表示形式,或将字符串解析为数字。
实现泛型:在泛型中,只能使用对象类型,不能使用基本数据类型。包装类允许你在泛型中使用基本数据类型的封装对象。
比较数据:包装类提供了比较、判断相等等方法,可以对基本数据类型进行比较操作。
处理特定需求:有时候需要在对象中存储一些额外的信息,比如 Integer
类可以通过 .intValue()
方法将其转换为整数。
以下是一些常见的包装类及其对应的基本数据类型:
Integer
对应 int
Long
对应 long
Float
对应 float
Double
对应 double
Boolean
对应 boolean
Character
对应 char
总的来说,包装类在实际工作中主要用于解决基本数据类型不能直接作为对象操作的问题,以及在集合、泛型和格式化等方面提供了更多的灵活性和功能。
日期处理和格式化在实际工作中非常常见,特别是在涉及时间、计划、日程等方面。在Java中,可以使用 java.util.Date
、java.time.LocalDate
、java.time.LocalDateTime
等类来处理日期和时间,同时可以使用 java.text.SimpleDateFormat
类来进行日期格式化和解析
最典型的是当在实体类中定义类似以Date类型的createTime或expireTime这样的属性时,我们往往会要求其以标准化的、字符串格式的时间进行输出,虽然如今已有相应的注解可以便捷我们的操作,但我们还是要会理解它的原理:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
字符串处理类在实际工作中非常常见,因为字符串是编程中最常用的数据类型之一。Java提供了丰富的字符串处理类和方法,使得处理、操作和转换字符串变得更加便捷。以下是字符串处理类在实际工作中的一些常见用途:
文本操作和转换:使用字符串处理类可以进行文本的拼接、截取、替换、分割等操作。这对于处理用户输入、从文件中读取内容、处理文本数据等非常有用。
字符串格式化:格式化字符串以便于输出或显示。使用 String.format()
方法或者 printf
格式化字符串可以根据需要插入变量、数字、日期等内容。
字符串比较和搜索:字符串处理类提供了比较字符串、查找子字符串、判断是否包含某个字符或子字符串等方法。这对于检查特定模式或内容的存在非常有用。
大小写转换:可以使用字符串处理类来将字符串转换为大写或小写形式,这对于搜索不区分大小写的内容或者统一输出格式很有帮助。
正则表达式匹配:使用正则表达式可以进行更复杂的字符串匹配和处理,例如搜索、替换、验证等操作。
字符串拼接性能优化:在大量字符串拼接时,使用 StringBuilder
或 StringBuffer
可以提高性能,避免频繁创建字符串对象。
解析和生成 JSON、XML:在处理 JSON 或 XML 数据时,字符串处理类可以帮助你解析和生成这些格式的数据。
处理密码和敏感信息:在处理密码和敏感信息时,使用 String
类的不可变性质可以增加安全性,防止被篡改。
多语言支持:在多语言应用中,使用字符串处理类可以轻松地切换和管理不同语言的字符串资源。
总的来说,字符串处理类在各种应用中都发挥着重要作用,从基本的文本操作到复杂的模式匹配和格式化,都需要用到字符串处理类的功能。Java提供了丰富的字符串处理方法,根据具体需求选择合适的方法和类可以提高代码的可读性和效率。
请求和响应数据处理:在Spring Boot的Web开发中,数组经常用于处理请求的参数和响应的数据。例如,当从前端传递多个参数时,这些参数通常被组织成数组,然后在后端进行解析和处理。
数据存储和操作:Spring Boot应用程序通常需要与数据库或其他数据源进行交互。在处理数据时,数组可以用来存储和操作一组数据,例如从数据库中检索一组记录。
集合类的操作:在Spring Boot中,使用数组可以对集合类(如列表、集合、映射等)进行操作,如转换、过滤、排序等。
配置属性管理:Spring Boot中的配置属性通常被组织成数组,例如处理多个配置值。你可以使用@ConfigurationProperties
注解将数组配置属性映射到Java类中。
数据校验和转换:在处理用户输入或外部数据时,数组可用于存储和处理多个值,例如表单中的多选框值。
RESTful API的参数传递:在Spring Boot中,RESTful API可以使用数组来传递多个参数,例如查询参数、路径参数等。
数据分析和处理:如果你的Spring Boot应用涉及数据分析、报告生成或其他数据处理任务,数组可以用来存储和操作数据集。
日志处理:数组可用于存储和处理多个日志条目,例如存储异常堆栈跟踪信息。
前端交互:在与前端交互时,数组用于传递多个数据项,例如通过JSON格式传递给前端,或从前端接收多个选项值。
总之,Spring Boot应用程序中的数组在各个方面都有应用。它们用于数据存储、传递、操作和处理,有助于简化代码、提高效率,并为各种任务提供了一种高效的数据结构。在开发Spring Boot项目时,根据具体的场景和需求,合理地使用和处理数组是非常重要的
BigDecimal
类通常用于处理需要高精度计算和避免浮点数精度问题的场景
货币计算:在金融领域,精确的货币计算是至关重要的。使用 BigDecimal
可以避免浮点数运算带来的精度问题。比如,在购物车结算中,计算总金额、优惠折扣等都可以使用 BigDecimal
。
税务计算:在涉及税务计算时,需要确保计算的精确性,以避免舍入错误。使用 BigDecimal
可以确保准确地计算税金。
订单金额计算:在处理订单金额时,通常需要进行多次计算,如商品价格、运费、税金等。使用 BigDecimal
可以保证精确的计算结果。
精确比较:使用 BigDecimal
可以进行精确的数字比较,避免浮点数比较带来的不准确性。
java.lang.Math
类提供了许多数学计算相关的静态方法,用于处理各种数学运算。虽然 Math
类的方法主要涉及基本数学运算,但在实际工作中仍然有许多用途。以下是在Spring Boot项目中使用 Math
类的几个常见场景:
随机数生成:在游戏开发、随机数据生成和密码学等领域,需要生成随机数。Math.random()
方法可以生成介于0和1之间的随机浮点数。
取整和舍入:Math
类提供了取整和舍入的方法,例如 Math.round()
可以将一个浮点数四舍五入为最接近的整数。
数学运算:Math
类提供了基本的数学运算,如绝对值、幂运算、开方、对数、三角函数等。
最大值和最小值:可以使用 Math
类找到一组数字中的最大值和最小值。
总的来说,虽然 Math
类的方法是静态的且基本,但它在实际工作中仍然有许多应用。在Spring Boot项目中,你可能会在各种场景中用到 Math
类,从随机数生成到数学运算、舍入等。