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():获取对象信息,一般重写,默认返回地址值

相关推荐
马士兵教育2 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习
snow@li2 小时前
Java:理解 Gradle / 后端项目的管家 / 打包SpringBoot 应用 / 完成编译、下载依赖、运行测试、打包 JAR/WAR / 速查表
java
云烟成雨TD3 小时前
Spring AI 1.x 系列【57】动态工具发现:Tool Search Tool
java·人工智能·spring
zfoo-framework3 小时前
[修改代码使用]codex官方app中使用中转(不需要cc-switch) 1.config.toml 2.sk方式登录
java
逍遥德3 小时前
MQTT教程详解-05.SpringBoot集成mqtt client 性能分析
java·spring boot·spring·mt
云烟成雨TD3 小时前
Spring AI 1.x 系列【54】Retry 机制分析
java·人工智能·spring
weixin_523185323 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
点燃大海3 小时前
SpringAI构建智能体
java·spring boot·spring·springai智能体
xier_ran3 小时前
【infra之路】02_RadixAttention与KV_Cache管理
java·spring boot·spring
黑马师兄4 小时前
RAG混合检索深度解析:让AI真正找到你要的内容
java·人工智能·ai·agent·rag·ai-native