Java字符串的10大热点问题盘点

下面我为大家总结了10条Java开发者经常会提的关于Java字符串的问题,如果你也是Java初学者,仔细看看吧:

1、如何比较字符串,应该用”==”还是equals()?

总的来说,”==”是用来比较字符串的引用地址,而equals()才是比较字符串的值。两个值相同的字符串用”==”比较结果有可能是false,而用equals()则一定为true。除非两个字符串是同一个new出来的对象,不然比较字符串值是否相同应该要用equals()。

2、对那些安全敏感的信息,为什么用char[]存储要优于String?

String是不可变的,这就意味着它一旦被创建,就将永久驻留在内存中,直到垃圾回收器将其回收为止。然而用数组存储方式,你可以明确地改变数组中的元素,因此用数组方式,安全信息将有可能不存在系统内存的任何地方。

3、能否用字符串来声明switch语句?

JAVA 7及以后的版本是支持的。在JDK 7中,允许你使用字符串做switch语句的比较条件。jdk 6以前的版本,不能这样使用:

// java 7 only!
switch (str.toLowerCase()) {case "a":value = 1;break;case "b":value = 2;break;
}

4、如何将字符串转换成数字int类型?

int n = Integer.parseInt("10");

很简单,但却会经常用到,也很容易被忽略。

5、如何用空格字符来分割字符串?

我们可以很方便地用正则表达式来分割字符串,”\s”表示空格字符,比如” “, “\t”, “\r”, “\n”

String[] strArray = aString.split("\\s+");

6、substring()方法究竟是什么?

在jdk 6中,substring()方法在原来字符串中提供了一个截取字符的窗口,它并没有创建一个新的String实例。如果你想创建新的字符数组,你可以在substring()后加一个空字符,就像这样:

str.substring(m, n) + ""

这样就会创建一个新的String实例,上面的方法有时候可以让你的程序运行速度更快,因为垃圾回收器可以将没用的大字符串回收走,并保留其子字符串。

7、String、StringBuilder和StringBuffer哪个更优?

String和StringBuilder:StringBuilder是可变的,也就是说用StringBuilder创建的字符串你可以随时改变它。StringBuilder和StringBuffer:StringBuffer是同步的,它是线程安全(thread-safe)的,但效率要比StringBuilder差得多。

8、如何重复输出字符串?

在Python中,我们只需要为字符串乘上一个数字就可以重复输出该字符串了。然而在Java中,我们可以用StringUtils的repeat()方法来实现,StringUtils是Apache公共语言库的其中一个类库成员。

String str = "abcd";String repeated = StringUtils.repeat(str,3);//abcdabcdabcd

9、如何将字符串转换成日期类型?

你可以按以下方法来做,代码如下:

String str = "Sep 17, 2013";Date date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str);System.out.println(date);//Tue Sep 17 00:00:00 EDT 2013

10、如何统计指定字符在字符串中出现的频率

同样我们利用了Apache公共语言库中的StringUtils,代码如下:

int n = StringUtils.countMatches("11112222", "1");System.out.println(n);

以上这10个关于Java字符串的问题,你遇到过多少?另外,你觉得还有哪些问题会对Java开发者产生困惑,评论中告诉我们,让我们一起来探讨。

译文链接:http://www.html5tricks.com/10-top-questions-java-string.html
英文原文:Top 10 questions of Java Strings
首发于http://java-er.com - http://java-er.com/blog/java-string-10-hot/

看了不后悔,学习编程的八个建议
你会遇到的30个JAVA面试题
俄罗斯方块设计原理
Android教程二:Android 工程文件说明大全
java高性能编程的26个注意事项
一位外国网赚达人的五个写博客建议

posted on 2014-05-30 20:05 月小升 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/yuexiaosheng/p/3761706.html

Java字符串的10大热点问题盘点相关推荐

  1. 英语作文 计算机科学的未来趋势,2019高考英语作文10大热点预测+范文(书面表达).docx...

    2019高考英语作文10大热点预测+范文 根据往年高考经验,高考英语作文话题一般会与当年的社会热点.民生有关. 中国新四大发明 1.关于高铁 [题目要求] 高铁给人们的出行带来了快捷和方便,请你写一篇 ...

  2. 【年度盘点】2016年互联网10大热点,谁在沸腾谁在死去?

    作为依附于网络的我们,来看看去年的互联网大热点吧 2016年是创新沸腾的一年. 年初,分享经济四个字写入政府报告,随后内容付费.网红经济轮流爆发,展示了模式创新的巨大魅力,年轻人要当自己的老板,谁能管 ...

  3. 数据库 10 大常见安全问题盘点~

    数据库已经成为黑客的主要攻击目标,因为它们存储着大量有价值和敏感的信息. 这些信息包括金融.知识产权以及企业数据等各方面的内容.网络罪犯开始从入侵在线业务服务器和破坏数据库中大量获利,因此,确保数据库 ...

  4. 马里兰大学calce电池循环测试数据集_Nature系列/Joule/Angew/EES超强盘点:水体系电池10大热点论文及发文趋势...

    前  言水体系电池相较于有机体系电池具有安全性高.环境友好.离子电导率高的特点.近年来,水体系电池由于电极材料和新型电解质的开发取得了长足的进展,其被认为是大规模储能领域的潜力股.我们以"a ...

  5. 盘点知识图谱的10大热点趋势与实践探索!

    人工智能正逐步从感知智能迈向认知智能,其终极目标是让机器具备类似人类的思维逻辑和认识能力,特别是理解.归纳和应用知识的能力,而知识图谱在这里面起到了非常关键的作用.为此,DataFun将每年定期举办知 ...

  6. 周报速递丨企业微信 4.0 发布;零售、餐饮 10 大业态数字化盘点

    神策研究院数字化趋势周报栏目主要发布当周数字化相关宏观趋势.行业动态及行业观点汇总,并融合神策研究院洞察,希望通过这一栏目帮助读者了解最新的行业动态并判断未来行业发展趋势. 目录 01 宏观 02 行 ...

  7. Java 必会10大的经典算法

    本文来源: https://github.com/hustcc/JS-Sorting-Algorithm 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数 ...

  8. 电子签名软件有哪些?10大电子签名平台盘点

    目录 一.电子签名软件有哪些 1.e签宝:国内签名领域老大哥 2.上上签:开创SaaS电子签极简模式 3.法大大:数智化签约管理平台 4.数字认证:中国电子认证第一股 5.契约锁:主攻中大型客户无缝集 ...

  9. java 洞房游戏,10大最流行的婚礼洞房小游戏

    中国的婚房习俗有着悠久的历史,许多夫妇在古代结婚前都不熟悉它.制作洞房游戏无疑可以帮助夫妻消除障碍,打破害羞的"窗户纸".让我们来看看现代十大最受欢迎的婚礼洞房游戏. 一. 吃香蕉 ...

最新文章

  1. Python,OpenCV中的K均值聚类——K-Means Cluster
  2. c++框架有哪些_Java Mybatis框架入门教程_v20200726
  3. 一场稳定、高清、流畅的大型活动直播是怎么炼成的?
  4. js解决异步的方法汇总
  5. 吉他入门第一讲~~~~~右手弹奏基础
  6. Mac免费使用MAMP搭建本地开发环境
  7. javascript之ua与urlSchema
  8. easyui datagrid 列拖动
  9. 2019-02-23-算法-进化
  10. codeforces1494 D. Dogeforces(构造)
  11. CSS 盒模型与box-sizing
  12. thinkpad T430s 在win8上安装ubuntu双系统(UEFI开启)
  13. ————————C语言中快速排序方法——————————————
  14. SAP License:赛锐信息访谈启示录(四)
  15. 使用Dwr时出现java.lang.SecurityException: Access to debug pages is denied
  16. c++排序算法之 快速排序
  17. markdown编写操作手册
  18. 微信登录app提示服务器异常,微信登录异常怎么办?微信登录异常的原因以及解决方法...
  19. 在WordPress中使用旋转文字创建“会话”横幅:第2部分
  20. 三、入门Python第三课

热门文章

  1. python哪里下载import包-python import 自己的包
  2. 使用ros标定相机的内参和外参
  3. yolov5 v3.0训练报错: torch.nn.modules.module.ModuleAttributeError: ‘BatchNorm2d‘ object has no attribute
  4. LeetCode Permutations II(有重复元素的全排列)
  5. spoj450 Enormous Input Test
  6. 【剑指offer】题目二
  7. activemqcpp编译及可能的错误处理
  8. MySQL中的配置参数interactive_timeout和wait_timeout
  9. 利用人体肤色从图像中分割出人体区域的OpenCV代码
  10. DOS下获得当前文件夹目录的命令