Java字符串的十大问题
以下是有关Java字符串的十大常见问题 。
1.如何比较字符串? 使用“ ==”还是使用equals()?
简而言之,“ ==”测试引用是否相等,而equals()测试值是否相等。 除非您要检查两个字符串是否是同一对象,否则应始终使用equals()。
如果您了解字符串实习的概念会更好。
2.为什么对于安全敏感信息,char []优于String?
字符串是不可变的 ,这意味着一旦创建它们,它们将保持不变,直到启动垃圾收集器。使用数组,您可以显式更改其元素。 这样,安全敏感信息(例如密码)将不会出现在系统中的任何位置。
3.我们可以在switch语句中使用字符串吗?
是,对于版本7。从JDK 7开始 ,我们可以使用字符串作为切换条件。 在版本6之前,我们不能使用字符串作为切换条件。
|
4.如何将字符串转换为int?
|
简单,但是经常使用,有时被忽略。
5.如何用空格字符分割字符串?
我们可以使用正则表达式简单地进行拆分。 “ \ s”代表空格字符,例如“”,“ \ t”,“ \ r”,“ \ n”。
|
6. substring()方法是否创建新的字符串?
答案是不。 substring()方法为一个chars数组提供了一个窗口,该chars数组表示现有的String,但不创建新的。 要创建一个新字符串,您可以添加一个空字符串,如下所示:
|
这将创建一个新字符串。 上面的方法有时可以使您的代码更快,因为垃圾收集器可以收集未使用的大字符串并仅保留子字符串。
在Oracle JDK 7中,substring()创建一个新字符串。 查看该图以显示JDK 6和JDK 7之间的substring()差异 。
7. String vs StringBuilder vs StringBuffer
String vs StringBuilder:StringBuilder是可变的,这意味着您可以在创建后对其进行修改。
StringBuilder与StringBuffer:StringBuffer是同步的,这意味着它是线程安全的,但比StringBuilder慢。
8.如何重复一个字符串?
在Python中,我们可以将多个数字重复一个字符串。 在Java中,我们可以使用Apache Commons Lang包中StringUtils的repeat()方法。
|
9.如何将字符串转换为日期?
|
10.如何计算字符串中字符出现的次数?
使用来自Apache Commons lang的StringUtils。
|
多一个
您知道如何检测字符串是否仅包含大写字母吗?
相关文章:
- 该图显示了Java字符串的不变性
- Java代码–将文件转换为字符串
- 为什么我们需要软件测试?
- Java基础
翻译自: https://www.javacodegeeks.com/2013/09/top-10-questions-of-java-strings.html
Java字符串的十大问题相关推荐
- java char 相等_Java程序员须知Java字符串的十大问题
相关问题得整理大家可以一起讨论学习!!!学无止境!!!! 1.如何比较字符串?使用" =="还是使用equals()? 简而言之," =="测试引用是否相等,而 ...
- java newfile() bug_java初学者小白?遇到BUG就慌了?有关java异常的十大问题详解!...
1.已检查与未检查 简而言之,必须在方法中显式捕获已检查的异常,或在方法的throws子句中声明该异常.未检查的异常是由无法解决的问题引起的,例如被零除,空指针等.检查的异常特别重要,因为您希望使用A ...
- java 异常总结_Java异常的十大问题总结
本文总结了有关Java异常的十大常见问题. 1.已检查与未检查 简而言之,必须在方法中显式捕获已检查的异常或在方法的throws子句中声明该异常.未检查的异常是由无法解决的问题引起的,例如被零除,空指 ...
- 十、深入Java字符串(下篇)
@Author:Runsen @Written Date:2020/5/22 继续深入Java字符串 文章目录 求下标位置 访问索引 访问字符串 访问字符串的子串 字符串对象的比较 连接字符串 重载 ...
- Java 语言中十大“坑爹”功能!
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源:https://www.sohu.com/a/35 ...
- Java数组的十大方法
Java数组的十大方法 以下是Java Array的前10种方法.他们是来自stackoverflow的投票最多的问题. 0.声明一个数组 String[] aArray = new String[5 ...
- Java学习系列(十八)Java面向对象之基于UDP协议的网络通信
UDP协议:无需建立虚拟链路,协议是不可靠的. A节点以DatagramSocket发送数据包,数据报携带数据,数据报上还有目的目地地址,大部分情况下,数据报可以抵达:但有些情况下,数据报可能会丢失 ...
- 【引用】Java开发者的十大戒律
2019独角兽企业重金招聘Python工程师标准>>> 本文转载自liujin.ah <Java开发者的十大戒律> 有许多标准和实践准则可适用于Java开发者,但此处要说 ...
- 2021-11-23----韩顺平Java入门第十四天
韩顺平Java入门第十四天(排序.查找) 1.排序 1).排序的介绍:排序是将多个数据,依指定的顺序进行排列的过程. 2).内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序 ...
最新文章
- 在vue项目中对axios进行封装
- java中异常处理机制
- 实验一线性表的基本操作实现及其应用(JavaScript实现)
- 《leetcode》valid-parentheses
- android 6.0 ios9谁快,没安卓6.0流畅?iOS 9突飞猛进终于不卡
- 试用期这样做更快通过
- 客户端与服务器端的认证方式(cookie,token,session)
- 云知声原创技术再获肯定:多篇论文被国际语音顶会 INTERSPEECH 2020 收录
- 15. CSS 表格
- 蓝桥杯题目——平方回文数
- 分布式——分布式面试题
- android webview 误删,AndroidWebView内核
- PHP zip 文件压缩、解压
- python右对齐_Python中print函数输出时的左右对齐问题
- Python爬虫编程思想(69): 项目实战--抓取当当图书排行榜
- 学好UI设计必备软件
- Mysql 最全教程
- 银联支付(chinapay)java接入避坑指南
- z5s+android+4.4,中兴NX403a(Nubia Z5S Mini Android 4.4)刷Recovery教程
- nodejs c++ addon插件的应用场景
热门文章
- 注解@resource的作用_Bean基于Annotation(注解)的装配方式
- MySQL的source命令不加分号和delimiter的使用
- hadoop2.6.0+eclipse配置
- poi中文api文档
- spring一站式开发_Spring开发人员知道的一件事
- hadoop lambda_Delta架构:统一Lambda架构并利用Hadoop / REST中的Storm
- java jsoup解析_3使用Jsoup解析Java中HTML文件的示例
- java ee maven_针对新手的Java EE7和Maven项目–第6部分
- jvm虚拟机 基于栈_守护基于JVM的应用程序
- Spring Boot微服务,Docker和Kubernetes研讨会–第2部分