JAVA面试题-每日一更01.String是基本数据类型吗?02.switch能否作用在byte上,能否作用在long上,能否作用在String上?

133 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天
一起来看一下我们的第一道java面试题:
String是基本数据类型吗?
答:回答这道问题之前,我们先要搞清楚,java当中的基本数据类型都有啥,对吧?知道了有啥,那String在不在其中就显而易见了。基本数据类型是学习java的基础的基础,根本的根本,所以一定要对这个东西掌握和理解。 在java当中,基本数据类型一共分 四类八种,分别是:
整数型(数值型):byte、short、int、long
浮点型:float、double
字符型:char
布尔型:boolean
所以,String不是基本数据类型
扩展:另外,Sting来源于java.lang.String这个包,他本身是个类,而且通过观察源码我们可以发现他是被final修饰的,因此String类不能被继承,不能被修改。
源码片段:

public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {


一起来看一下我们的第二道java面试题:
switch能否作用在byte上,能否作用在long上,能否作用在String上?
答:话不多说,实践是检验真理的唯一标准,上代码:
1.是否能作用在byte上,如下:

image.png
2.是否能作用在String上,如下:

image.png
3.是否能作用在long上,如下:

image.png
通过代码的运行结果我们能够看出,Switch是支持byte 和 String 的,使用long,会产生编译时异常,无法编译通过。所以,Switch无法作用在long上
其实,switch在jdk1.7之前是只支持int、short、char、byte以及枚举(enum),在jdk1.7之后,才开始支持String类。
下图是Switch作用在String上,在jdk1.6版本当中的显示:

image.png