我是靠谱客的博主 笨笨流沙,最近开发中收集的这篇文章主要介绍Java面试--String,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

面试题:Java的String类型为什么是不可变的(百度面试题)
面试题:获取www.baidu.com最后一个点的内容”com”(蘑菇街面试题)
面试题:String a=”abc” String b=”a” + “bc” a == b?(网易面试题)

一、String基础部分
建议先看下基础篇:Java基础系列(十二)Object、String、StringBuffer
代码:

String a="abc"; String b="a"+"bc";
if(a == b) {
    System.out.print("true");
}
else {
    System.out.print("false");
}
//输出为:true
//只生成一个字符串,保存在字符串常量池中


二、Java的String类型为什么是不可变的
String类中的成员变量:

private final char value[];
private final int offset;
private final int count;

执行了String s = “ABCabc”; 这句代码之后,真正的内存布局应该是这样的:
这里写图片描述
value,offset和count这三个变量都是private的,并且没有提供setValue, setOffset和setCount等公共方法来修改这些值,所以在String类的外部无法修改String。
三、不可变的好处
因为字符串是不可变的,所以是多线程安全的,同一个字符串实例可以被多个线程共享。这样便不用因为线程安全问题而使用同步。字符串自己便是线程安全的。
在大量使用字符串的情况下,可以节省内存空间,提高效率。
四、String截取字符串
代码:

String str = "www.baidu.com";
int i = str.lastIndexOf('.');
String str1 = str.substring(i+1,str.length());
System.out.println(str1);

Java面试的完整博客目录如下:Java笔试面试目录

转载请标明出处,原文地址:https://blog.csdn.net/weixin_41835916 如果觉得本文对您有帮助,请点击支持一下,您的支持是我写作最大的动力,谢谢。
这里写图片描述

最后

以上就是笨笨流沙为你收集整理的Java面试--String的全部内容,希望文章能够帮你解决Java面试--String所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部