Java 基础之String常见面试题整理

本篇主要整理关于 特殊的封装数据类型String 一些常见的面试题,大多数都是本人亲身经历过,回来总结出来的,用于学习交流,基本比较偏基础。

有更好的解决方式,欢迎留言~

1)String 是基本数据类型吗?

不是。

具体可以点击:Java是特殊的包装类数据(String)

2)String 是不是可变的?

String是final类型的,不可变。

具体可以点击:不可变的数据类型包装类值

3)如何比较两个字符串的值(内容)一样,以及两个字符串是否同一对象?

  • 比较两个字符串值,也就是咱们平常所说的内容,比如String a = “abc”;String b =“abc”;这里是采用equals()方法;
  • 比较是否同一对象,也就是说是同一个地址的引用,这里用"=="。

“==”和equals()方法的区别请点击:Java基础之equals和==的区别(源码分析)

地址:https://blog.csdn.net/Soinice/article/details/92704533

4)switch 中可以使用 String 吗?

JDK 1.7之前是不支持的,JDK 7及其以上版本的switch可以使用String类型。

5)String str = new String("abc");创建了几个对象,为什么?

创建了两个,"abc"本身创建在常量池中,通过new方法又创建在堆中。

6)Java基础之String,StringBuilder,StringBuffer三者的区别

请点击:https://blog.csdn.net/Soinice/article/details/84784585

7)String 可以被子类继承吗?

因为String是final类型,所以不能被继承。

8)可以自定义 java.lang.String 类并使用吗?

可以自定义java.lang.String类并编译成功,但不能被加载使用。

9)Java中String 与 byte[]两者之间如何相互转换?

String 转换 byte[] 通过String类的getBytes方法;byte[] 转换 String通过new String(byte[])构造器。

10)Java基础之String 与 int两者之间如何相互转换?

请点击:https://blog.csdn.net/Soinice/article/details/94333789

11)Java基础之 String.trim() 究竟去掉了什么?

请点击:https://blog.csdn.net/Soinice/article/details/84638146

12)String str1 = “abc”;String str2 = "abc"; str1 ==str2的结果是什么?

true;

这里除了讲了==的用法,还讲了String是个特殊的封装类,详情点击:特殊的包装类数据(String)的内部工作

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值