`

Java String 的常见问题

    博客分类:
  • Java
阅读更多

1、如何比较字符串?使用 “==”  还是 “equals()”?

简单来讲,“==”比较的是引用(对象的内存地址),“equals()” 比较值是否相等。除非你想检测两个字符串是否是同一对象,否则都用equals()。当然了解字符串池的概念更好。

2、为什么对于安全敏感的信息使用char[] 优于String ?

Java 中字符串是不可变的,这就意味着一旦他被创建,在垃圾回收器收集之前都是一样的。使用数组你可以明确的修改它的元素,以这种方式,安全敏感的信息(如:密码)将不存在于系统的任何地方。

3、switch 语句中是否可以用String ?

在jdk7中是可以的。在jdk6以前的版本都不可以。

switch (str.toLowerCase()) {
case "a":
    value = 1;
    break;
case "b":
    value = 2;
    break;
}

4、如何将String 转换为 int ?

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

5、如何使用空白字符拆分字符串?

只需要简单的使用正则表达式“\s” 。 “\s” 代表着空白字符有“ ” , “\n” , " \r" , "\t" 。

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

6、substring()真正做了些什么?

在JDK6 中substring()方法提供了一个表示目前字符数组(该字符数组表示当前字符串)的窗口,但是并没有创建一个新的字符串。为了创建一个新的字符串,可以在substring()后面添加一个空字符串,如下所示:

str.substring(m, n) + ""

以上代码会创建一个字符数组表示新的字符串。以上方法在有些时候可以提高代码的效率,因为垃圾回收器可以回收大的String ,而只保存很少的子字符串。

在JDK7中,创建了一个新的char数组,而不是使用原来的char数组。关于该部分内容可以参见JDK6和JDK7中substring的区别

7、String VS StringBuilder VS StringBuffer

String VS StringBuiler : StringBuiler是可变的,这意味着创建以后还可以改变他的内容。

StringBuiler VS StringBuffer : StringBuffer 是同步的(线程安全),但是比StringBuiler慢。

8、如何重复字符串?

在python中我们是需要对字符串乘以一个数就可以表示重复字符串。在Java中可以使用Apache Commons Lang package 中StringUtils 的repeat方法。

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

 9、如何将字符串转换为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

 10、如何计数一个字符在字符串中出现的次数

使用Apache Commons Lang package 中StringUtils类。

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

 

 

分享到:
评论

相关推荐

    java String 使用详解

    本文将详细介绍 Java String 的使用方法,包括 String 对象的初始化、字符串的常见操作等。 一、String 对象的初始化 String 对象的初始化是一种特殊的语法,Java 提供了简化的初始化方法,例如: String s = ...

    十大常见Java String问题_动力节点Java学院整理

    下面将详细探讨Java String的十大常见问题及其解决方案。 1. **字符串比较:使用"=="还是equals()?** 在Java中,"=="运算符比较的是两个字符串对象的引用,即它们在内存中的位置,而equals()方法则比较的是两个...

    java String 数据结构

    此外,字符串拼接是Java开发中的常见操作。使用`+`运算符连接字符串虽然直观,但效率较低,因为它会导致多次`String`对象的创建。在需要大量拼接操作时,应优先考虑使用`StringBuilder`或`StringBuffer`。 总之,`...

    java中String类型转换方法.pdf

    Java 中 String 类型转换方法是一种常见的编程操作,涉及到各种数据类型之间的转换,包括整型、浮点型、长整型、浮点型等。本文将详细介绍 Java 中 String 类型转换方法的各种形式。 整型到字符串 在 Java 中,将...

    Java String与Byte类型转换

    在Java编程中,String对象和Byte类型的转换是常见的操作,特别是在网络编程中,因为网络通信通常涉及字节流的处理。下面将详细讲解Java中如何进行这两种类型之间的转换,并探讨其在网络编程中的应用。 首先,让我们...

    JavaString常见操作[参照].pdf

    Java String API 中常用的方法 Java String API 中提供了许多有用的方法来操作字符串,這些方法可以帮助开发者轻松地处理字符串操作。下面是 Java String API 中常用的方法: 一、获取 Java String API 中提供了...

    java String 与各种进制字符之间的转换

    在Java编程语言中,String类是处理文本字符串的核心类,而与各种进制字符之间的转换是常见的编程需求。本文将详细探讨Java中如何进行String与二进制、八进制、十进制以及十六进制之间的转换。 首先,我们要了解进制...

    Java中String判断值为null或空及地址是否相等的问题

    在Java编程中,字符串(String)是非常常见且重要的数据类型。本文主要讨论了如何正确判断Java中的String对象是否为null、空值("")以及它们的地址是否相等。在处理字符串时,了解这些概念对于避免程序出错至关重要。...

    我们一起学Java之String

    字符串拼接是Java中常见的操作,但如果使用不当,会生成许多不必要的临时对象,从而导致性能问题。例如,使用"+"号连续拼接多个字符串时,每次拼接都会创建新的String对象。这不仅消耗内存,还影响垃圾回收器的工作...

    java String类常用方法练习小结

    【Java String类常用方法详解与实战】 在Java编程语言中,`String`类是一个非常重要的类,它代表不可变的字符序列。所有的字符串字面值(例如:"abc")都是`String`类的实例。本篇文章将深入探讨`String`类的一些...

    java中String_十六进制String_byte[]之间相互转换

    在Java开发中,字符串(String)、十六进制表示的字符串以及字节数组(byte[])之间的转换是非常常见的需求,尤其是在处理网络通信、文件读写等场景下。本文将详细介绍如何在Java中实现这些数据类型之间的相互转换,...

    java String Vector简单初学者代码

    Java中的String、Vector和Scanner是三个非常基础且重要的概念,对于初学...它们是构建程序的基础模块,也是解决实际问题的常见工具。通过不断地实践和学习,可以逐步提升编程能力,为更高级的Java编程打下坚实的基础。

    简单说说JAVA的String和byte[]的关系

    在Java编程语言中,`String`对象与`byte[]`数组之间的转换是常见的操作之一。理解这两者之间的关系对于处理文本数据、网络通信及文件读写等任务至关重要。 #### 一、String与byte[]的基本概念 - **String**: 在...

    java中的String类常用方法解析(一)

    以上就是`String`类的一些常见方法,理解并熟练使用它们对于提升Java编程效率至关重要。在实际开发中,开发者通常会结合这些方法来处理字符串,实现各种文本操作。通过阅读和分析`TestString.java`文件,我们可以...

    java中将string类型转换成timestamp类型

    "Java中将String类型转换成Timestamp类型" ...将String类型转换成Timestamp类型是Java编程语言中的一种常见操作,该操作需要了解Timestamp类型的特点和限制,并使用正确的方法和技术来实现转换操作。

    JavaBean与JsonString的相互转换

    在Java开发中,JavaBean和JsonString是两种常见的数据表示形式。JavaBean是Java对象的一种规范,用于封装数据,而JsonString是一种轻量级的数据交换格式,常用于前后端交互。本篇将深入探讨JavaBean与JsonString之间...

    JavaString常见操作.pdf

    Java中的`String`类是编程中非常基础且重要的部分,它代表不可变的字符序列。在Java中,字符串常量都是存储在常量池中,每次创建新的`String`对象时,如果常量池中已经存在相同的字符串,那么就不会创建新的实例,...

    面试题:Java String类常见操作和用法

    由于字符串在编程中极为常见,理解和熟练掌握String类的用法至关重要。在面试中,Java String类的操作和用法经常成为考察的重点。 首先,Java String类是不可变的,这意味着创建一个String对象后,它的内容无法更改...

    java中String类的知识

    ### Java中String类的知识 #### 一、String 类概述与创建方式 在Java语言中,`String`类是用于表示不可变字符序列的核心类之一。它代表了一个字符串对象,一旦被初始化后,其内容不能被改变。这被称为不可变性...

Global site tag (gtag.js) - Google Analytics