第11章:随堂复习与企业真题(常用类与基础API)

一、随堂复习

1. String类

  • String的声明:final修饰、实现了Comparable接口

  • String的不可变性

  • String的两种定义方式:① 字面量的定义方式 String s = "hello" ② new 的方式:String s = new String("hello");

    • String的内存解析:字符串常量池、堆内存的使用

    • String s = new String("hello");在内存中创建的对象的个数。

  • String的连接操作:+

    • 常量 + 常量 、变量 + 常量 、变量+变量、concat(String otherString)

    • String intern()

  • 熟悉String的构造器、与其他结构之间的转换、常用方法

    • 编码和解码

      • 编码:字符、字符串 --> 字节、字节数组。对应着编码集

      • 解码:字节、字节数组 --> 字符、字符串。对应着解码集

      • 规则:解码集必须使用当初编码时使用的编码集。只要不一致,就可能出现乱码!

  • String相关的算法问题。

2. StringBuffer、StringBuilder类

  • [面试题]String、StringBuffer、StringBuilder的区别

  • 知道什么场景下使用StringBuffer、StringBuilder

3. jdk8之前的日期、时间API

  • System的currentTimeMillis()

  • 两个Date的使用

  • SimpleDateFormat用于格式化、解析

  • Calendar日历类的使用

4. jdk8中新的日期、时间API

  • LocalDate、LocalTime、LocalDateTime -->类似于Calendar

  • Instant -->类似于Date

  • DateTimeFormatter --->类似于SimpleDateFormat

5. 比较器(重点)

  • 自然排序涉及到Comparable

    • compareTo(Object obj)

  • 定制排序涉及到Comparator

    • compare(Object obj1,Object obj2)

6. 其它API

了解

二、企业真题

2.1 String

1. 以下两种方式创建的String对象有什么不同?(*团)
String str = new String("test");
​
String str = "test";

前者:

一个是堆空间中new的对象。另一个是在字符串常量池中生成的字面量。

后者:

是在字符串常量池中生成的字面量。

2. String s = new String("xyz");创建了几个String Object? (新*陆)

两个

3. String a="abc" String b="a"+"bc" 问a==b?(网*邮箱)

是!

4. String 中 “+” 怎样实现?(阿*)

常量 + 常量 :

结果仍然存储在字符串常量池中,返回此字面量的地址。注:此时的常量可能是字面量,也可能是final修饰的常量

变量 + 常量 、变量+变量:

创建一个StringBuilder的实例,通过append()添加字符串,最后调用toString()返回一个字符串。(toString()内部new 一个String的实例)

5.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值