java中的一些对象
2016-03-22 14:38
330 查看
1. 如何比较两个字符串?用“=”还是equals
简单来说,“==”是用来检测俩引用是不是指向内存中的同一个对象,而equals()方法则检测的是两个对象的值是否相等。只要你项检测俩字符串是不是相等的,你就必须得用equals()方法。
如果你知道“字符串保留(string intern)”的概念那就更好了。
2. 为什么安全敏感的字符串信息用char[]会比String对象更好?
String对象是不可变的就意味着直到垃圾回收器过来清扫之前它们都不会发生变化的。用数组的话,就可以很明确的修改它任何位置的字符元素。这样的话,如密码等安全敏感的信息就不会出现在系统的任何地方。
3. 字符串对象能否用在switch表达式中?
从JDK7开始的话,我们就可以在switch条件表达式中使用字符串了,也就是说7之前的版本是不可以的。
简单来说,“==”是用来检测俩引用是不是指向内存中的同一个对象,而equals()方法则检测的是两个对象的值是否相等。只要你项检测俩字符串是不是相等的,你就必须得用equals()方法。
如果你知道“字符串保留(string intern)”的概念那就更好了。
2. 为什么安全敏感的字符串信息用char[]会比String对象更好?
String对象是不可变的就意味着直到垃圾回收器过来清扫之前它们都不会发生变化的。用数组的话,就可以很明确的修改它任何位置的字符元素。这样的话,如密码等安全敏感的信息就不会出现在系统的任何地方。
3. 字符串对象能否用在switch表达式中?
从JDK7开始的话,我们就可以在switch条件表达式中使用字符串了,也就是说7之前的版本是不可以的。
相关文章推荐
- Java 性能优化手册 — 提高 Java 代码性能的各种技巧
- Spring Security(08)——intercept-url配置
- struts2中的constant配置详解
- java软件开发工程师的简历
- 基于Spring 4.0 的 Web Socket 聊天室/游戏服务端简单架构
- 使用Spring的注解方式实现AOP
- Eclipse Mars.2 Release (4.5.2)中构建Maven web项目出错
- java建造者模式
- HashSet源码剖析
- Spring-mvc静态资源无法加载
- (转) java.lang.ClassNotFoundException: com.fasterxml.jackson.core.JsonProcessingException
- 拦截器
- JAVA8 十大新特性详解
- 基于 OAuth 安全协议的 Java 应用编程1
- Java之美[从菜鸟到高手演练]之JDK动态代理的实现及原理
- Spring动态创建bean切换数据源
- JAVA中重载与多态
- myeclipse搭建SSH框架
- java 知识点
- Java中类继承的初始化顺序