Java面试题整理常用类部分

一、String类的常用方法

length():求字符串的长度

indexOf():求某个字符在字符串中的位置

charAt():求一个字符串中某个位置的值

equals():比较两个字符串是否相同

replace():将字符串中的某些字符用别的字符替换掉。形如replace("abc","ddd"); 字符串中的abc将会被ddd替换掉。

split():根据给定正则表达式的匹配拆分此字符串。形如String s = "The time is going quickly ! "; str1 = s.split(" ");

substring():输出一个新的字符串,它是此字符串的子串,形如substring(3,7) ; 它将字符串中的第四个、第五个、第六个输出。

trim():将字符串开头的空白(空格)和尾部的空白去掉。

format():使用指定的语言环境、格式字符串和参数返回一个格式化字符串。

toLowerCase():将字符串中所有的大写改变成小写

toUpperCase():将字符串中所有的小写改变为大写

getBytes():获取字符串字节数组

二、String类中的intern()方法作用

intern()方法会首先从常量池中查找是否存在该常量值,如果常量池中不存在则现在常量池中创建,如果已经存在则直接返回。

比如

String s1 = "aa";

String s2 = s1.intern();

System.out.print(s1 == s2); //返回true

三、String str = "i" 与 String str = new String("i")一样吗

不一样,因为内存的分配方式不一样。String str = "i"; 的方式,Java虚拟机会将其分配到常量池中;而String str = new String("i"); 则会被分到堆内存中。

四、String 和 StringBuffer、StringBuilder 的区别

相同点:三个类都是处理字符串的类;

不同点:String是长度不可变字符串,StringBuffer 和 StringBuilder 是长度可变的字符串,维护一个缓冲区。

StringBuilder 线程不安全,效率高;StringBuffer线程安全,效率低;

五、Object类中常用方法

hashCode():计算对象成员的哈希值

equals():判断对象是否相等

clone():对对象进行clone

getClass():获取对象的Class字节码文件对象

wait():线程阻塞线程挂起等待

notify()nitifyAll():线程唤醒,线程就绪,继续运行

toString():获取对象信息,一般重写,默认返回地址值

相关推荐
圆山猫6 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
城管不管7 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
IT小白杨7 小时前
从环境制备到自动化工作流:多账号运营的工程化架构拆解
java·经验分享·自动化·安全架构·指纹浏览器
豆瓣鸡7 小时前
算法日记 - Day3
java·开发语言·算法
萧瑟余晖8 小时前
Java深入解析篇九之NIO详解
java·网络·nio
The Chosen One9858 小时前
高进度算法模板速记(待完善)
java·前端·算法
极光代码工作室10 小时前
基于SpringBoot的课程预约系统
java·springboot·web开发·后端开发
Leighteen11 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
名字还没想好☜11 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
圆山猫12 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v