java.lang.String小测试
2015-07-21 13:06
507 查看
还记得java.lang.String么,如果现在给你一个小程序,你能说出它的结果么
public static String ab(String a){ return a + "b"; } public static void testAb(){ String x = "a"; ab(x); System.out.println(x); } public static void main(String[] args) { testAb(); }
以上执行了main方法后会输出什么结果呢?现自己想一想,再给出答案
结果是a。 为什么会是a呢, 因为我们都知道String表示字符串,是一个对象,但是却是一个不可变的对象,也就是说字符串是一个常量,在创建后就是不可变的了。所以我们在上面看到的x="a",实际是不会变化的。查看java.lang.String 的源码也可以得出结论,final的作用就不用说了吧。截取一段
public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[]; /** Cache the hash code for the string */ private int hash; // Default to 0
相关文章推荐
- Spring架构使用JdbcTemplate进行数据库功能开发
- Spring AOP在pointcut expression解析表达式 并匹配多个条件
- Spring中的JDBCTemplate使用(非常详细的配置过程)
- Spring JdbcTemplate 使用总结与经验分享
- spring框架学习(六)AOP
- spring框架学习(五)注解
- spring框架学习(四)自动装配
- spring框架学习(三)junit单元测试
- spring框架学习(二)依赖注入
- spring框架学习(一)
- Spring JdbcTemplate方法详解
- static class 静态类(Java)
- java中string与byte[]的转换
- Spring MVC3.0.5搭建全程 .
- Java类加载顺序
- Struts2中的ModelDriven机制及运用
- Java 计算文件目录下文件总大小的几种多线程并发实现
- java实现分段读取文件并通过HTTP上传的方法
- Java 并发专题 : Timer的缺陷 用ScheduledExecutorService替代
- Java-Stack