JAVA 常用类总结

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: JAVA 常用类总结

1、String特性:

       ①String代表字符串

       ②String是final类,是不可变的字符序列,不能被继承

           体现:1、当对字符串重新赋值时,需要重写指定内存区域赋值,不能使用原有的value进行赋值

                 2、当对现有的字符串进行连接操作,也需要重新指定内存区域赋值,不能使用原有的value进行赋值

                 3、当调用String的replace()方法修改指定字符或字符串时,也需要重新指定内存区域赋值,不能使用原有的value进行赋值

       ③字符串是常量,用""引起来表示,它的值在创建后不能修改

       ④String对象的字符串存储在一个字符数组char[],value用于存储字符串

       ⑤String实现了serializable接口:支持可序列化

           Comparable接口:String可以比较大小

       ⑥通过字面量的方式(区别与new)给一个字符串赋值,字符串声明在字符串常量池中

           new+构造器:数据在堆空间中开辟以后对应的地址值

       ⑦字符串常量池不会存储相同的字符串

       总结:

           1、常量与常量拼接结果在常量池,常量池不会出现相同内容。

           2、只要拼接中有一个是变量,结果在堆中

           3、拼接调用intern()方法,返回值在常量池中

2、常用方法:

       1、int length():返回字符串的长度 return value.length

       2、char charAt(int index):返回某索引出的字符串 return value[index]

       3、boolean isEmpty():判断字符串是否为空,return value.length == 0

       4、String toLowerCase():使用默认语言环境,将String所有字符转换为小写

       5、String toUpperCase():使用默认语言环境,将String所有字符转换为大写

       6、String trim():返回字符串的副本,去掉首位空格

       7、boolean equals(Object obj):比较字符串内容是否相等

       8、boolean equalslgnoreCase(Object obj):比较字符串内容是否相等,忽略大小写

       9、String concat(String str):指定字符串拼接,相当于"+"

       10、int compareTo(String anotherString):比较两个字符串大小

       11、String subString(int beginIndex):返回一个新的字符串,此字符串从begenIndex开始截取到最后一个字符串

       12、String subString(int beginIndex, int endIndex):返回一个新的字符串,此字符串从begenIndex开始截取到endIndex(不包含)的字符串

       13、boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束

       14、boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始

       15、boolean startsWith(String prefix,int toffset):测试此字符串从指定的索引开始的子字符串是否以指定的前缀开始

       16、boolean contains(CharSequence s):当且仅当此字符串包含指定的char值序列时,返回true

       17、int indexOf(String str):返回指定子字符串在此字符串中第一次出现位置的索引

       18、int indexOf(String str,int fromIndex):返回指定子字符串中第一次出现位置的索引,从指定的索引开始

       19、int lastIndexOf(String str):返回指定字符串在此字符串中从最右边的位置的索引

       20、int lastIndexOf(String str,int fromIndex):返回指定字符串在此字符串中最后一次出现的的位置索引,从指定的索引开始反向搜索

           注:indexOf和lastIndexOf方法如果未找到都是返回-1

       21、String replace(char oldChar,char newChar):返回一个新的字符串,它是通过用newChar替换此字符串出现中的所有oldChar

       22、String replace(CharSequence target, CharSequence replacement):使用指定的字面值替换序列替换字符串所有匹配字面值目标序列的子字符串

       23、String replaceAll(String regex,String replacement):使用给定的replacement替换此字符串所有匹配给定的正则表达式的子字符串

       24、String replaceFirst(String regex, String replacement):使用给定的replacement替换此字符串匹配给定的正则表达式的第一个子字符串

       25、boolean matches(String regex):告知此字符串是否匹配给定的正则表达式

       26、String[] split(String regex):根据给定的正则表达式的匹配拆分此字符串

       27、String[] split(String regex, int limit):根据匹配给定的正则表达式来拆分此字符串,最多不超过limit个,如果超过了,剩下的全部都放到最后一个元素中

3、String转换:

       String --> 基本数据类型、包装类:调用包装类的静态方法:parsexxx(str)

       基本数据类型、包装类 --> String:调用String重载的valueOf(xxx)

       String --> char[] 之间转换:调用String的toCharArray()

       char[] --> String 之间转换:调用String构造器

       String --> byte[] 之间转换:调用String的getBytes()

       byte[] --> String 之间转换:调用String构造器

4、String、StringBuffer、Stringbuilder三者异同:

       String:不可变的字符序列,底层使用char[]存储

       StringBuffer:可变的字符序列,线程安全,效率低,底层使用char[]存储

           增:append(xxx)

           减: delete(int start, int end) 从start开始到end结束,不包含end

           改:setCharAt(int n, int ch) / replace(int start, int end, String str)

           查:charAt(int n)

           插:insert(int offset, xxx)

           长度:length()

           遍历:for() + charAt() / toString()

       StringBuilder:可变的字符序列,线程不安全,效率高,底层使用char[]存储

       扩容:如果添加的数据底层数组不能满足当前存储,默认情况扩容是原来容量的2倍+2,将原有数组复制到新的数组中

       效率从高到底:StringBuilder > StringBuffer > String

5、日期API:

       ①Java.lang.System时间戳:System.currentTimeMillis()

       ②Java.util.Date:

           两个构造器使用:

               1、构造器一:Date():创建一个对应当前时间的Date对象

               2、构造器二:创建指定毫秒数的Date对象

           两个方法:

               1、方法一:toString():显示当前的年、月、日、时、分、秒

               2、方法二:getTime():获取当前Date对象对应的毫秒数,时间戳

           java.sql.Date对应数据库中的日期类型的变量

               1、如何实例化

               2、如何将java.util.Date转化为java.sql.Date对象

       ③Java.text.SimpleDateFormat:

           格式化:日期 -> 文本;

           解析:文本 -> 日期

           1、SimpleDateFormat():默认的模式和语言环境创建对象

           2、public SimpleDateFormat(String pattern):该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用:

           3、public String format(Date date):方法格式化时间对象date

           解析:

           public Date parse(String source):从给定字符串的开始解析文本,以生成一个日期

       ④Java.util.Calendar日历类:Calendar是一个抽象基类,主要用于完成日期字段之间相互操作的功能。

           1、获取Carlendar实例的方法:

               Carlendar.getInstance()方法

               调用它的子类GregorianCarlendar的构造器

           2、通过get(int field)来获取想要的时间信息

           注意:

               获取月份:一月是0,以此类推

               获取星期:周日是1,以此类推

       ⑤LocalDate、LocalTime、LocalDateTime

           实例化:new() / now(Zoneld zone) 静态方法,根据当前时间创建对象 / 指定时区的对象

                   of() 静态方法,指定日期/时间创建对象

           get类操作:getDayOfMonth()/getDayOfYear()/getDayOfWeek()  获取月份天数(1-31)/获取年份天数(1-366)/获取星期几(返回一个DayOfweek枚举值)

                      getMonth()/getMonthValue()/getYear() 获得月份(返回一个month枚举值)/获得月份(1-12)/获得年份

                      getHour()/getMiute()/getSecond()  获取当前对象的小时/分钟/秒

           set类操作:withDayOfMonth()/withDayOfYear()/withMonth()/withYear()  将月份天数/年份天数/月份/年份修改为指定的值并返回新的对象

           加操作:plusDays()/plusWeeks()/plusMonths()/plusYears()/plusHours() 向当前对象添加天/星期/月/年/小时

           减操作:minusDays()/minusWeeks()/minusMonths()/minusYears()/minusHours() 向当前对象减掉天/星期/月/年/小时

       ⑥instant:时间线上的一个瞬时点

       ⑦Java.time.format.DateTimeFormat:格式化与解析日期或时间

           预定义标准格式:ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME

           方法:ofPattern(String pattern) 静态方法,返回一个指定字符串格式的DateTImeFormat

                 format(TemporalAccessor t) 格式化一个日期、时间,返回一个字符串

                 parse(CharSequence text) 将指定的字符序列解析为一个日期、时间

6、Java比较器:

       接口对比:Comparable的方法一旦指定,保证Comparable接口实现类的对象在任何位置都可以比较大小;Comparator属于临时比较

       Comparable

           1、像String、包装类实现了Comparable接口,重写了comparaTo(obj)方法,给出了比较两个对象的大小

           2、像String、包装类重写了comparaTo(obj)方法以后进行了从小到大排列

           3、重写comparaTo(obj)规则:

               当前对象this大于形参obj对象,返回正整数

               当前对象this小于形参obj对象,返回负整数

               当前对象this等于形参obj对象,返回0

           4、对于自定义类来说,如果需要排序,我们可以让自定义类实现Comparable接口,重写comparaTo

               在comparaTo(obj)方法中指明如何排序

       Comparator:定制排序

           1、背景:当元素的类型没有实现Java.lang.Comparable接口而又不方便修改代码,或者实现了Java.lang.Comparable接口排序规则不适合当前的操作,

               考虑用COmparator的对象来排序

           2、重写compara(Object o1, Object o2)方法,比较o1和o2的大小:

               如果方法返回正整数,则表示o1大于o2

               如果返回0,表示相等

               如果方法返回负数,表示o1小于o2

7、System、Math、BigInteger、BigDecimal类



相关文章
|
20天前
|
安全 Java API
告别繁琐编码,拥抱Java 8新特性:Stream API与Optional类助你高效编程,成就卓越开发者!
【8月更文挑战第29天】Java 8为开发者引入了多项新特性,其中Stream API和Optional类尤其值得关注。Stream API对集合操作进行了高级抽象,支持声明式的数据处理,避免了显式循环代码的编写;而Optional类则作为非空值的容器,有效减少了空指针异常的风险。通过几个实战示例,我们展示了如何利用Stream API进行过滤与转换操作,以及如何借助Optional类安全地处理可能为null的数据,从而使代码更加简洁和健壮。
53 0
|
8天前
|
Java
java的类详解
在 Java 中,类是面向对象编程的核心概念,用于定义具有相似特性和行为的对象模板。以下是类的关键特性:唯一且遵循命名规则的类名;描述对象状态的私有属性;描述对象行为的方法,包括实例方法和静态方法;用于初始化对象的构造方法;通过封装保护内部属性;通过继承扩展其他类的功能;以及通过多态增强代码灵活性。下面是一个简单的 `Person` 类示例,展示了属性、构造方法、getter 和 setter 方法及行为方法的使用。
|
4天前
|
Java 编译器
Java——类与对象(继承和多态)
本文介绍了面向对象编程中的继承概念,包括如何避免重复代码、构造方法的调用规则、成员变量的访问以及权限修饰符的使用。文中详细解释了继承与组合的区别,并探讨了多态的概念,包括向上转型、向下转型和方法的重写。此外,还讨论了静态绑定和动态绑定的区别,以及多态带来的优势和弊端。
19 9
Java——类与对象(继承和多态)
|
4天前
|
SQL Java 编译器
Java——类与对象(封装)
封装是面向对象编程中的概念,指将数据(属性)和相关操作(方法)组合成独立单元(类),使外部无法直接访问对象的内部状态,只能通过提供的方法进行交互,从而保护数据安全。例如,手机将各种组件封装起来,只暴露必要的接口供外部使用。实现封装时,使用`private`关键字修饰成员变量,并提供`get`和`set`方法进行访问和修改。此外,介绍了包的概念、导入包的方式及其注意事项,以及`static`关键字的使用,包括静态变量和方法的初始化与代码块的加载顺序。
18 10
Java——类与对象(封装)
|
4天前
|
Java C语言
Java——类与对象
这段内容介绍了Java中的类和对象、`this`关键字及构造方法的基本概念。类是对现实世界事物的抽象描述,包含属性和方法;对象是类的实例,通过`new`关键字创建。`this`关键字用于区分成员变量和局部变量,构造方法用于初始化对象。此外,还介绍了标准JavaBean的要求和生成方法。
18 9
Java——类与对象
|
3天前
|
存储 安全 Java
Java——String类详解
String 是 Java 中的一个类,用于表示字符串,属于引用数据类型。字符串可以通过多种方式定义,如直接赋值、创建对象、传入 char 或 byte 类型数组。直接赋值会将字符串存储在串池中,复用相同的字符串以节省内存。String 类提供了丰富的方法,如比较(equals() 和 compareTo())、查找(charAt() 和 indexOf())、转换(valueOf() 和 format())、拆分(split())和截取(substring())。此外,还介绍了 StringBuilder 和 StringJoiner 类,前者用于高效拼接字符串,后者用于按指定格式拼接字符串
10 1
Java——String类详解
|
5天前
|
存储 Java
Java的对象和类的相同之处和不同之处
在 Java 中,对象和类是面向对象编程的核心。
|
4天前
|
Java
Java Character 类详解
`Character` 类是 Java 中的一个封装类,位于 `java.lang` 包中,主要用于处理单个字符。它是一个最终类,提供了多种静态方法来检查和操作字符属性,如判断字符是否为字母、数字或空格,以及转换字符的大小写等。此外,`Character` 类还支持自动装箱和拆箱,简化了 `char` 和 `Character` 之间的转换。以下是一些示例代码,展示了如何使用 `Character` 类的方法来检查字符属性和执行字符转换。掌握 `Character` 类的用法有助于更高效地处理字符数据。
|
4天前
|
Java
Java Number & Math 类详解
在 Java 中,`Number` 类和 `Math` 类是处理数字和数学运算的重要工具。
|
12天前
|
Java API 开发者
【Java字节码操控新篇章】JDK 22类文件API预览:解锁Java底层的无限可能!
【9月更文挑战第6天】JDK 22的类文件API为Java开发者们打开了一扇通往Java底层世界的大门。通过这个API,我们可以更加深入地理解Java程序的工作原理,实现更加灵活和强大的功能。虽然目前它还处于预览版阶段,但我们已经可以预见其在未来Java开发中的重要地位。让我们共同期待Java字节码操控新篇章的到来!