博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java字符串中常见的10个问题
阅读量:6612 次
发布时间:2019-06-24

本文共 1555 字,大约阅读时间需要 5 分钟。

下面是Java中10个最常见的关于字符串的问题。

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

简单的说,“==”用于判断引用是否相等,equals()用于判断值是否相等。除非你要比较两个字符串是否是同一个对象,否则你应该使用equals()方法。如果你知道的概念会更好。

对于敏感信息优先使用字符数组而不是字符串

字符串是不可变的,意味着一旦被创建,他们就会一直存在直到垃圾回收器回收它们。然而对于一个数组来说,你可以明确的改变它们的元素。使用这种方法,敏感信息(如密码)就不会长期存在于系统中。

switch语句是否可以用string

是的,对于JDK7,我们是可以使用字符串作为switch条件,然而在jdk6,我们不能使用字符串作为switch条件。

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

怎样将字符串转成整型

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

很简单,但是有时候也会被忽视。

怎样按空白字符(可能多个)分割字符串

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

substring()方法在做什么

在JDK 6,substring()方法不会创建一个新的字符数组,而是使用原有字符串的字符数组,为了创建一个新的字符数组组成的字符串,你可以在后面加上一个空字符串,如下:

str.substring(m, n) + ""

这会创建一个新的字符数组,组成新的字符串对象。使用这种方法有时候会提高性能,因为垃圾回收器能回收无用的大字符串,只保留剩下的子字符串。

在JDK7,substring()方法会创建一个新的字符数组,而不是使用已有的,可以参考以下链接了解更多关于JDK6和JDK7中substring()方法的异同。

String vs StringBuilder vs StringBuffer

String vs StringBuilder:StringBuilder是可变的,意味着你可以在其创建后修改它。

StringBuilder vs StringBuffer:StringBuffer是同步的,意味着它是线程安全的,但是会比StringBuilder慢。

怎样创建重复字符串

在Python中,我们可以简单的使用数字重复字符串;而在Java中,我们可以使用Apache Commons Lang 包下的StringUtils工具类的repeat()来实现,如下:

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

如何将字符串转成date类型

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

统计字符在某个字符串中出现的次数

使用Apache Commons Lang 包下的StringUtils工具类

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

留给读者:如何检测一个字符串是否都是大写字母

 

译文链接:

转载地址:http://jxaso.baihongyu.com/

你可能感兴趣的文章
【VMCloud云平台】SCCM(八)OSD(二)- 模板机捕获准备
查看>>
Docker容器固定IP分配
查看>>
刺激用户危机意识,实现快速盈利的营销思维
查看>>
虚拟化系列-Citrix XenServer 6.1 网络管理
查看>>
一个电脑做Wifi热点的软件——Connectify
查看>>
英特尔嵌入式突围
查看>>
WIN FORM 多线程更新UI(界面控件)
查看>>
一道打印M的面试题[java]
查看>>
【常见问题】系列01:双击文件夹打开新窗口
查看>>
Quartz 框架快速入门(三)
查看>>
关于程序内存的问题
查看>>
将字符串中从n位开始以*代替
查看>>
access 2007创建表关系
查看>>
JDBC公共动作类
查看>>
JUnit单元测试
查看>>
[logstash-input-file]插件使用详解
查看>>
HDU 3103 Shoring Up the Levees(计算几何 搜寻区域)
查看>>
spring mvc模拟用户增删改查以及登录和上传文件的相关流程
查看>>
11.并发包阻塞队列之LinkedBlockingQueue
查看>>
植物大战僵尸
查看>>