java关于string最常出现的面试题整理


Posted in Python onJanuary 18, 2021

在学习了不少使用string处理字符串的方法后,对于这方面基础内容模块已经初步掌握。对于java面试时,字符串是比较基础和重点的模块,所以在学习和复习的时候,都需要在这方面做重点的学习。我们把试题分为基础内容和实例代码试题的运行两个部分,下面一起来看看具体内容。

一、基础内容

1.String类型是基础类型吗

基本数据类型包括byte,int,char,long,float,double,boolean,short一共八个

Java.lang.String类是final类型的,因此不能继承,修改这个类.为了提高效率节省空间,应该用StringBuffer类。

2.针对安全保密高的信息,char[]比String更好的原因

因为String是不可变的,就是说它一旦创建,就不能更改了,直到垃圾收集器将它回收走。而字符数组中的元素是可以更改的(译者注:这就意味着你就可以在使用完之后将其更改,而不会保留原始的数据)。所以使用字符数组的话,安全保密性高的信息(如密码之类的)将不会存在于系统中被他人看到。

3.String 可以被子类继承吗

既然 String 是 final 的,所以不能被继承。

4.可以自定义 java.lang.String 类并使用吗

可以自定义 java.lang.String 类并编译成功,但不能被加载使用,具体请学习类加载机制。

二、实例试题

1.判断定义为String类型的s1和s2是否相等

String s1 = "abc";
String s2 = "abc";
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));

2.写一个方法,实现字符串的反转,如:输入abc,输出cba

public static String reverse(String origin) {
 //方式1
 //return new StringBuffer(origin).reverse().toString();
 //方式2
 /*String end = "";
 for (int i = origin.length()-1; i >= 0; i--) {
  end += origin.charAt(i);
 }*/
 //方式3
 StringBuilder end = new StringBuilder("");
 for (int i = origin.length()-1; i >=0 ; i--) {
  end.append(origin.charAt(i));
 }
 return end.toString();
}

面试题扩展:

1. String是最基本的数据类型吗?

基本数据类型包括byte,int,char,long,float,double,boolean,short一共八个.

Java.lang.String类是final类型的,因此不能继承,修改这个类.为了提高效率节省空间,应该用StringBuffer类.

2. Strings=”Hello”;s=s+”world!”;这两句代码执行后,原始的String对象中的内容变没?

没有,因为String被设计成为不可变类,不能修改,继承,代码执行后,s所指向的对象”hello”没有改变.不过s不指向s,而是指向了另外一个String.原来的对象还在内存中,只是不指向了.

们很容易导出另一个结论,如果经常对字符串进行各种各样的修改,或者说,不可预见的修改,那么使用String来代表字符串的话会引起很大的内存开销。因为 String对象建立之后不能再改变,所以对于每一个不同的字符串,都需要一个String对象来表示。这时,应该考虑使用StringBuffer类,它允许修改,而不是每个不同的字符串都要生成一个新的对象。并且,这两种类的对象转换十分容易。

3. String是否可以被继承?

不可以,因为String类似final类.

4. Strings=new String(“xyz”);创建了几个String Object?二者之间有什么区别?

两个或一个,

”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个。New String每写一遍,就创建一个新的对象,它一句那个常量”xyz”对象的内容来创建出一个新String对象。如果以前就用过'xyz',这句代表就不会创建”xyz”自己了,直接从缓冲区拿。

到此这篇关于java关于string最常出现的面试题整理的文章就介绍到这了,更多相关java中string的面试题整理内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python生成随机mac地址的方法
Mar 16 Python
用Python的Django框架编写从Google Adsense中获得报表的应用
Apr 17 Python
python 类详解及简单实例
Mar 24 Python
Python实现的破解字符串找茬游戏算法示例
Sep 25 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
Oct 01 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
Jul 26 Python
python退出命令是什么?详解python退出方法
Dec 10 Python
python3实现字符串操作的实例代码
Apr 16 Python
Python 中Django验证码功能的实现代码
Jun 20 Python
Python实现最常见加密方式详解
Jul 13 Python
Python使用matplotlib 画矩形的三种方式分析
Oct 31 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
May 23 Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
Jan 18 #Python
python中四舍五入的正确打开方式
Jan 18 #Python
PyQt5中QSpinBox计数器的实现
Jan 18 #Python
全网最细 Python 格式化输出用法讲解(推荐)
Jan 18 #Python
PyQt实现计数器的方法示例
Jan 18 #Python
Python实现邮件发送的详细设置方法(遇到问题)
Jan 18 #Python
Python实现一个论文下载器的过程
Jan 18 #Python
You might like
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
Yii2 GridView实现列表页直接修改数据的方法
2016/05/16 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
Prototype PeriodicalExecuter对象 学习
2009/07/19 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
2013/12/17 Javascript
用js将内容复制到剪贴板兼容浏览器
2014/03/18 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
jqueryMobile使用示例分享
2016/01/12 Javascript
深入理解vuex2.0 之 modules
2017/11/20 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
es6基础学习之解构赋值
2018/12/10 Javascript
微信小程序如何获取地址
2019/12/24 Javascript
javascript设计模式 ? 解释器模式原理与用法实例分析
2020/04/17 Javascript
javascript 内存模型实例详解
2020/04/18 Javascript
react-intl实现React国际化多语言的方法
2020/09/27 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
2021/02/26 Vue.js
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
[49:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第二场 3月4日
2021/03/11 DOTA
python实现文件名批量替换和内容替换
2014/03/20 Python
python类:class创建、数据方法属性及访问控制详解
2016/07/25 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
安踏官方商城:anta.cn
2019/12/16 全球购物
培训专员岗位职责
2014/02/26 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
初中教师业务学习材料
2014/05/12 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
统计工作个人总结
2015/03/03 职场文书
同意离婚答辩状
2015/05/22 职场文书
董存瑞观后感
2015/06/11 职场文书
八年级数学教学反思
2016/02/17 职场文书