`

Java中String字符串的常见10个问题

    博客分类:
  • Java
 
阅读更多

Java中String字符串的常见10个问题

1:怎么比较字符串? 是用"=="还是equals()方法。

总的来说,如果是引用则使用双等号"==",如果是比较字符串内容,则使用equals()方法。
除非你想比较两个对象是否相等(即是否为同一个对象时)时使用双等号"==",否则最好使用equals()方法。

2:为什么对于安全敏感的信息,char[]字符数组要优于String字符串。

String字符串是不可变的对象,这就意味着,它一但被创建,就不可以更改直到被垃圾回收器处理掉。
使用数组,你则可以改变它的元素。通过这种方式,安全敏感的信息(例如:密码)就不会保存在当前
系统的任何地方。

3:在switch语句中可以使用String类型吗?

在JDK 7的版本中当然是可以的,我们可以使用String类型作为switch语句中的条件。
在JDK 6以前的版本中是不能使用String类型作为switch语句的条件的。
//在jdk 7 中有效
switch (str.toLowerCase()) {
      case "a":
           value = 1;
           break;
      case "b":
           value = 2;
           break;
}

4:怎么把String类型的数字转换为int类型。

int n = Integer.parseInt("10");
很简单吧,但是如此常用的,有时候却被忽略。
(把int类型的数字,转换为String类型的字符串
   String number = String.valueOf("10");


5: 怎么使用空格符来拆分String字符串。

我们可以简单的使用String类的split()方法,带正则表达式的参数来拆分。
"\s"表示空格符,就像" ","\t","\r","\n"(空,制表位,换行符,回车符)

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

6:substring()方法实际上是怎么实现的?
在JDK 6中,substring()方法只是给出了一个代表已经存在的String字符串的数组,但并不是新建了一个。
通过新建一个char字符数组,来代替新建一个String字符串,这样你就可以在新的char字符数组后面添加空的String字符串
如下:
str.substring(m, n) + ""

通过这种新建char字符数组来代替新建一个字符串,可以使代码跑的更快。
原因在于,这样做垃圾回收器就会回收不使用的大的String字符串(原来的字符串),只保留需要的子字符串。

7. String ,StringBuilder ,StringBuffer的区别
String vs StringBuilder:StringBuilder是可变对象,这就意味着创建后可以修改。String对象时不可变对象,……
StringBuilder vs StringBuffer: StringBuffer是线程安全的,它使用synchronized来保持同步。它是线程安全的就比非线程
安全的StringBuilder要慢。

8:怎么复制字符串?
在Python语言中,我们可以使用可以乘以一个数字来复制字符串。
在Java中,我们可以使用Apache Commons Lang包中的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 Commons Lang包中的StringUtils类中的方法,如下:

int n = StringUtils.countMatches("11112222", "1");
System.out.println(n);
分享到:
评论

相关推荐

    Java中String类(字符串操作)的10个常见问题和解决方法

    主要介绍了Java中String类(字符串)操作的10个常见问题,需要的朋友可以参考下

    Java中字符串常见题之String相关讲解

    今天小编就为大家分享一篇关于Java中字符串常见题之String相关讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    java字符串编码转换代码

    总结了java中常见的utf-8、gbk等进行字符串编码转换

    JAVA获取当前时间并转换成string格式

    在 Java 中获取当前时间并将其转换为字符串格式是一个常见的操作。下面我们将详细介绍如何实现这一功能。 首先,我们需要使用 Java 的 Date 类来获取当前时间。Date 类是 Java 中的一个内置类,用于表示日期和时间...

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

    Java的String类是一个重要的核心类,用于处理字符串操作。本文将介绍Java String类的常见操作和用法,包括字符串的创建、比较、连接、截取、替换等。我们还会讨论字符串与其他数据类型之间的转换、字符串的搜索和...

    java基础面试题目,常见的几个java面试题目:说一下java类集;JDK 和 JRE 有什么区别

    java基础面试题目,常见的几个java面试题目:说一下java类集;JDK 和 JRE 有什么区别;Spring的工作原理;框架的源码有没有看过;动态代理是怎么实现的;final 在 Java 中有什么作用; Java 中的 Math. round(-1. 5)...

    android、Java下判断两个String是否相等 、EditText输入是否为空,限定输入数字的实现

    Android 开发中,字符串比较和 EditText 输入判断是非常常见的操作。下面我们将详细介绍如何正确地比较两个 String 是否相等、判断 EditText 输入是否为空,以及如何限定输入数字的实现。 字符串比较 在 Java 中,...

    10个最常见的Java算法.doc

    以下是十大常见的 Java 算法,涵盖了字符串、数组、链表、树等数据结构。 一、字符串算法 1. 字符串反转(Reverse String) 使用 toCharArray() 方法将字符串转换为字符数组,然后使用 Arrays.sort() 方法对其进行...

    java中文乱码解决问题

    JAVA 中文乱码问题是开发过程中常见的问题之一,解决这个问题需要了解乱码产生的原因,然后对症下药。下面我们对容易产生乱码问题的场景进行分析,并提出解决方案。 1. 以 POST 方法提交的表单数据中有中文字符 在...

    java面试常见问题

    String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用...

    Java String 的十大常见问题

    以下是Java字符串经常被问到的排名前十的问题。  1、如何比较字符串?使用 “==” 还是 “equals()”?  简单来讲,“==”比较的是引用(对象的内存地址),“equals()” 比较值是否相等。除非你想检测两个字符...

    Java 最常见的 208 道面试题:第一模块答案

    java 中操作字符串都有哪些类?它们之间有什么区别? String str="i"与 String str=new String("i")一样吗? 如何将字符串反转? String 类的常用方法都有那些? 抽象类必须要有抽象方法吗? 普通类和抽象类有哪些...

    Java中String常见问题

    1.字符串比较==和equals  ==:比较的是对象,判断两个引用的是否为同一内存地址(物理对象)  equals:比较的是值  2.通过空白字符拆封字符串  str.spilt("\s+")  以上支持:空白字符""、换行" "、tab制表符...

    面试题java StringBuffer和StringBuilder类常见操作和用法

    Java的StringBuffer和StringBuilder类是用于字符串操作的可变字符序列类。本文将介绍Java StringBuffer和StringBuilder类的常见操作和用法,包括创建、追加、插入、删除、替换、反转等操作。我们还会讨论如何获取...

    JAVA面试题汇集

    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...

    java string 转date方法如何实现

    在开发应用中经常会使用到java string 转date这种不是很常见的做法,本文将以此问题提供详细解决方案,需要了解的朋友可以参考下

    【Java学习】String类

    String类 String类代表字符串 ...public String(): 创建一个空白字符串,不含有任何内容 public String(char[] array): 根据字符数组的内容,来创建对应的字符串 public String(byte[] array): 根据字节数组的内

    for循环中如何正确使用字符串拼接

    那么通过如下代码,看一下在for循环中,不同的字符串拼接方式,到底哪种效率最高?  package com.test.stringjoin; import org.apache.commons.lang3.StringUtils; public class Test { public static void main...

    使用URLDecoder和URLEncoder 区别

    在 Web 开发中,字符串之间的转换是一个常见的问题,特别是在处理非西欧字符时。下面我们将详细介绍 URLDecoder 和 URLEncoder 的使用方法和区别。 URLDecoder 的使用 URLDecoder 类包含一个 decode(String s,...

Global site tag (gtag.js) - Google Analytics