下面是Java字符串10个经常被问到的问题。

1.怎样比较字符串,使用"=="还是equals()?

简而言之,"=="测试引用是否相同,而equals()测试字符串的值是否相同。除非你想要检查两个字符串是否是同一个对象,否则你应该使用equals()。

2.对于安全敏感的信息,为什么char[]要优于String?

字符串是不可变的,这意味着一旦它们被创建,它们将保持不变,知道垃圾回收器将其回收。使用数组,你可以明确地改变它的元素。用这种方法,安全敏感信息(比如密码)将不会在系统的任何地方出现。

3.我们可以在switch语句中使用字符串吗

对于JDK7是这样的,从JDK7开始,我们可以使用字符串作为switch语句的条件,此前的版本中我们不能如此。

// java 7 only!

switch (str.toLowerCase()) {

case "a":

value = 1;

break;

case "b":

value = 2;

break;

}

4.怎样将string转换成int

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

简单常用,但时常会被忽视。

5.怎样将字符串用空格符分开

我们可以简单地使用正则表达式,"\s"是指" ","\t","\r","\n"这样的空白字符。

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

6.substring()方法到底做了什么

在JDK 6中,一系列字符代表已存在的字符串,substring()方法为这些字符提供一个窗口,但并不创建一个新的字符串,为了创建一个新的由新的字符代表的字符串,你可以加上一个空的字符串,就像这样:

str.substring(m, n) + ""

这样就会创建一个新的由字符数组代表的字符串,上面的方法有时候可以让你的程序运行速度更快,因为垃圾回收器可以回收不被使用的大字符串,并且只保留其子字符串。

在JDK 7中,substring()创建一个新的字符数组,而不是使用现有的这个。

7.String  StringBuilder  StringBuffer

String与StringBuilder比较:StringBuilder是可变的,这意味着在创建之后你可以修改它。

StringBuilder与StringBuffer比较:StringBuffer是同步的,这意味着它是线程安全的,但是比StringBuider要慢。

8.怎样重复一个字符串

在Python中我们可以乘上一个数字来重复字符串,在Java中我们可以使用来自Apache的公共语言库的StringUtils的repeat()方法。

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);

java字符串10_排名前10的Java字符串问题相关推荐

  1. github javaguide_GitHub上收获Star数排名前10的Java项目

    1. CS-Notes star:92.1k 介绍:技术面试必备基础知识.Leetcode.计算机操作系统.计算机网络.系统设计.Java.Python.C++ :地址:https://cyc2018 ...

  2. java 文本工具类_干货:排名前16的Java工具类

    原标题:干货:排名前16的Java工具类 作者丨Java技术栈 https://www.jianshu.com/p/9e937d178203 在Java中,工具类定义了一组公共方法,这篇文章将介绍Ja ...

  3. 干货:排名前 16 的 Java 工具类!

    2019独角兽企业重金招聘Python工程师标准>>> 干货:排名前 16 的 Java 工具类!   在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最 ...

  4. 2023年长沙Java培训机构排名前十新鲜出炉!有你心仪的机构吗?

    2023年带着希望向我们走来了~在经历了2022年疫情尾年之后,全新的发展格局即将开启,如何能选对职业赛道也将决定我们的发展未来是否可期,人工智能.大数据.云计算等计算机软件开发领域势不可挡.那么如何 ...

  5. 鱼佬阿水竞赛相声:我是如何2小时杀进排名前10%的!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 鱼佬,武汉大学硕士:阿水,北京航空航天大学硕士 鱼佬:Datawhale ...

  6. map分组后取前10个_人口净流入排名前10的城市,在这10个城市买房,只涨不跌

    最近几年,房价是涨了又涨,达到了最巅峰!最贵的一二线大城市已经涨到了一平米六七万的高价,一套房子下来怎么也得几百万,普通老百姓可能听到这样的价格就吓傻了,这样的数字简直就是天文数字,很多人一辈子都赚不 ...

  7. python怎么读取github_六行代码获取Github排名前10的Python项目

    六行代码获取Github排名前10的Python项目 Github开放了不少API.下面是对这些API的一个使用. # 获取返回信息 import requests as r url="ht ...

  8. 假如唐诗评选第一,您选哪一首?大数据排名前10的唐诗您知道吗

    假如唐诗评选第一,您选哪一首?大数据排名前10的唐诗您知道吗 老街味道 发布时间: 03-1100:50文化达人,优质创作者 前言 前几天看到一个关于第一的问题.文学作品不是田径比赛,无论怎么评选,都 ...

  9. 2023 年游戏项目中排名前 10 的编程语言

    游戏行业是全球增长最快的行业之一.而每款华丽且动画精美的视频游戏背后都有一种编程语言,游戏开发人员利用顶级编程语言来构建游戏的设置和机制.有各种各样的游戏项目,它们都使用不同的编程语言.Analyti ...

最新文章

  1. 网站更换服务器ip地教程,由于服务器更换IP地址,服务器不更换。需要如何操作使网站正常运行呢?,POSCMS,CodeIgniter技术文档,PHP开发文档,迅睿CMS框架官方教程...
  2. CentOS升级Python2到Python3
  3. C++基础学习笔记001
  4. 【数据库】SQL极速入门(多种方式查询用户复借次数)
  5. 二零一三年计算机视觉代码合集
  6. elasticsearch 7.8.0 kibana 7.8.0安装部署
  7. mysql报错乱码_连接mysql服务器报错时,出现乱码
  8. python界面设计模块_Python+Pycharm+PyQT5可视化程序设计入门
  9. 万圣节活动BANNER设计有方案了吗?拿走精品PSD分层模板!
  10. HTML中布局flex的标签,CSS3---Flex布局--项目属性
  11. Golang标准库RPC实践及改进
  12. C/C++的内存泄漏检测工具Valgrind memcheck的使用经历
  13. 垃圾收集与对象生命拯救(读书笔记)
  14. Atitit 算法原理与导论 目录 1. Attilax总结的有用算法 按用途分类 1 1.1. 排序算法 字符串匹配(String Matching) 1 1.2. 加密算法 编码算法 序列
  15. 系统集成项目管理工程师计算题(成本管理计算)
  16. linux下usb无线网卡对比
  17. (Pr)Premiere Pro 2022 软件下载+Pr安装教程
  18. 有关并联机器人动力学的学习
  19. IDEA中,更换背景颜色
  20. iOS 微信和QQ分享显示“未验证应用”问题处理(尤其是Swift 中 continueUserActivity 不执行问题)

热门文章

  1. python的6种基本数据类型--字典
  2. MySQL(8)数据库中的高级(进阶)正则和存储过程
  3. php is_post,PHP发送get、post请求的6种方法简明总结
  4. 一击进榜!达摩院十年“扫地僧”,揭秘阿里云数据仓库逆袭之旅
  5. 如何专业化监控一个Kubernetes集群?
  6. 关于写好文章的3个心法和5点技巧
  7. 【重磅直播预告】IDC提效分享
  8. Quick Audience精准营销之后 良品铺子还将借力阿里云数据中台有更多动作
  9. 为什么说 Flink + AI 值得期待?
  10. 离职交接文档_关于工作交接