`

java--String

阅读更多

1.摘自http://group.gimoo.net/review/166832

 

String s1 = new String("abc");
String s2 = new String("abc");

System.out.println(s1 == s2);

String s3 = "abc";
String s4 = "abc";

System.out.println(s3 == s4);

s1 = s3; s2 = s4 ;
System.out.println(s1 == s2);

s3 = s1 ; s4 = s2;
System.out.println(s3 == s4);

 结果:

 

false
true
true
true 

 

分析:

设计Java内存管理。涉及到栈区,堆区,静态常量区。
String s1 = new String("abc");
String s2 = new String("abc");
执行这两句时,分别在堆区new出来2块内存区,s1,s2存储在栈区,分别指向new出来的两个对象。 == 比较s1,s2的地址,当然不相等。
false;
String s3 = "abc";
String s4 = "abc";
执行第一句时,虚拟机在静态常量池分配一个字符串“abc”,s3指向它;执行第二局时,jvm首先检查静态常量池,如果发现有abc,直接用s4指向它,并不分配一块内存,所以s3,s4指向同一块地址。
true;

s1 = s3; s2 = s4 ;至于这两个,把s3指向的地址赋值给s1,把s4指向的地址赋值给s2,由于s3,s4指向同一块地址,所以
true;
s3 = s1 ; s4 = s2; 这两句解释同上;所以
true;

把s1,s2,s3,s4当作指针来理解可能容易些。都是指向地址;
另外注意的是new出来的都是在堆区;直接写出来的是在静态常量池。

分享到:
评论

相关推荐

    java-string-similarity, 各种字符串相似性和距离算法.zip

    java-string-similarity, 各种字符串相似性和距离算法 java-string-similarity 实现不同字符串相似度和距离度量的库。 目前已经实现了许多算法( 包括Levenshtein编辑距离和 sibblings,jaro winkler,最长公共子序列...

    java-string-similarity

    各种字符串相似度和距离算法的实现:Levenshtein,Jaro-winkler,n-Gram,Q-Gram,Jaccard索引,最长公共子序列编辑距离,余弦相似度......

    mysql-connector-java-8.0.13.jar

    MySQL Connector/J 8.0.13 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个用于连接Java应用程序到MySQL服务器的JDBC驱动程序。这个压缩包包含的“mysql-connector-java-8.0.13.jar”是这个驱动的实现文件,而...

    mysql-connector-java-8.0.23.zip

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而MySQL Connector/J则是MySQL官方提供的用于Java应用程序与MySQL数据库进行连接的驱动程序。这个"mysql-connector-java-8.0.23.zip"文件正是MySQL Connector/J的...

    mysql-connector-java-5.1.44

    MySQL Connector/J是MySQL数据库与Java应用程序之间的桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,允许Java开发者在Java应用中访问和操作MySQL数据。`mysql-connector-java-5.1.44`是这...

    mysql-connector-java-5.1.46.jar bin-jar

    MySQL Connector/J 5.1.46 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个用于连接Java应用程序到MySQL服务器的JDBC驱动程序。这个压缩包包含两个版本的驱动:`mysql-connector-java-5.1.46.jar` 和 `mysql-...

    mysql-connector-java-5.1.47.jar

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而`mysql-connector-java`则是MySQL官方提供的Java数据库连接器,用于在Java应用程序中与MySQL服务器进行通信。在这个话题中,我们将深入探讨`mysql-connector-...

    mysql-connector-java-5.1.7 jar包

    MySQL是世界上最流行的开源关系型数据库管理系统之一,而`mysql-connector-java-5.1.7.jar`是MySQL官方为了使得Java应用程序能够连接到MySQL数据库而提供的JDBC(Java Database Connectivity)驱动程序。JDBC是Java...

    mysql-connector-java-5.1.7-bin.jar

    public static void main(String[] args) { try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/mydatabase", "username", ...

    MySQL-connector-java-8.0.28

    MySQL-connector-java-8.0.28 是MySQL数据库与Java应用程序之间通信的重要组件,它是一个JDBC(Java Database Connectivity)驱动程序,使得Java开发者能够通过编写Java代码来访问和操作MySQL数据库。在这个版本中,...

    mysql-connector-java-5.1.40.tar.gz

    MySQL Connector/J是MySQL数据库与Java应用程序之间的桥梁,它是一个实现了JDBC(Java Database Connectivity)标准的MySQL驱动程序。"mysql-connector-java-5.1.40.tar.gz" 是这个驱动程序的一个特定版本,版本号为...

    mysql-connector-java-8.0.20.jar

    MySQL Connector/J 8.0.20 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个用于连接Java应用程序到MySQL服务器的JDBC驱动程序。这个jar文件是MySQL官方提供的,旨在允许Java开发者通过Java语言轻松地访问和...

    mysql-connector-java-8.0.17.jar.zip

    MySQL Connector/J 8.0.17 是MySQL官方提供的用于Java应用程序与MySQL数据库进行连接的驱动程序,也就是JDBC(Java Database Connectivity)驱动。这个压缩包"mysql-connector-java-8.0.17.jar.zip"包含了这个关键的...

    mysql-connector-java-5.1.37-bin.zip

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而Java作为一种广泛使用的编程语言,经常被用来与MySQL进行数据交互。在Java中,连接MySQL数据库的关键是通过Java Database Connectivity (JDBC) API。`mysql-...

    mysql-connector-java-5.1.47-bin.jar

    MySQL Connector/J是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了JDBC(Java Database Connectivity)规范的驱动程序,使得Java开发者能够通过编写Java代码来访问和操作MySQL数据库。标题中的"mysql-...

    mysql-connector-java-5.1.10-bin.jar

    《MySQL数据库连接器Java驱动详解——mysql-connector-java-5.1.10-bin.jar》 MySQL数据库在软件开发中占据着重要的地位,而与之交互的Java应用程序通常依赖于`mysql-connector-java`这个数据库驱动。本文将深入...

    mysql-connector-java-8.0.23.jar

    MySQL Connector/J 8.0.23 是一个用于Java应用程序的数据库驱动程序,它使得Java开发者能够连接到MySQL数据库服务器并执行SQL操作。这个jar文件是MySQL官方提供的,确保了与MySQL服务器的兼容性和稳定性。在Java环境...

    mysql-connector-java-5.1.44-bin.jar 包

    MySQL是世界上最受欢迎的开源数据库系统之一,而`mysql-connector-java-5.1.44-bin.jar`是MySQL提供的一款Java驱动程序,用于在Java应用程序中连接和操作MySQL数据库。这款JDBC(Java Database Connectivity)驱动是...

    mysql-connector-java-5.1.22-bin.jar

    MySQL Connector/J是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够通过编写Java代码来访问和操作MySQL数据库。标题中的"mysql-...

    mysql-connector-java-5.1.6jar包

    MySQL Connector/J是MySQL数据库官方提供的Java数据库连接器,它实现了Java Database Connectivity (JDBC) API,使得Java应用程序能够与MySQL数据库进行交互。标题中的"mysql-connector-java-5.1.6.jar包"正是这个...

Global site tag (gtag.js) - Google Analytics