public static void testString()
{
List<String> lists=new ArrayList<String>();
String firstString=new String();
firstString="first";
lists.add(firstString);
String secondString = lists.get(0);
secondString ="second";
System.out.println(lists.get(0));
}
public static void testEntity()
{
List<PV> lists=new ArrayList<PV>();
PV p=new PV();
p.setAge(1);
p.setName("yyyy");
lists.add(p);
PV v=lists.get(0);
v.setAge(2);
v.setName("xxxx");
System.out.println(lists.get(0).getName());
}
public static void main(String[] args) {
testString();
testEntity();
}
执行其中的main方法,得到的结果是:
first
xxxx
至于为什么会得到这样的结果,咱们就可以来看调试信息,这样就自然清楚了:
在执行testString()方法的时候。
调试时,信息的显示过程如下:
firstString (id=358) //new出一个对象
firstString (id=359) //引用了first这个值对象
secondString (id=359) //和firstString引用同一个对象
secondString (id=360) //引用second这个值对象
在执行testEntity()方法的时候。
调试时,信息的显示过程如下:
p (id=370)
v (id=370)
由此可以看出,p和v还有lists.get(0)所对应的都是同一个对象。
所以在改变v这个对象的属性时,也就改变了其他两个引用所对应的对象的属性。
分享到:
相关推荐
除了创建`HttpClient`和`HttpPost`对象外,还需要创建一个`List<NameValuePair>`来存储表单参数,然后将其封装到`UrlEncodedFormEntity`中,再设置到`HttpPost`对象上。 ##### 示例代码: ```java public static ...
本文将探讨如何将jQuery对象转换为Java对象,这是一个在前后端交互时常见的需求,尤其是在处理AJAX请求时。我们将深入理解jQuery对象的特性,以及在Java中如何映射和解析这些数据。 首先,jQuery对象主要是...
这个模块是Apache HttpClient的一个重要组成部分,尤其在Android开发中经常被用到,因为HttpClient提供了比Android自带的HttpURLConnection更丰富的功能和更好的性能。 MIME是一种标准,它扩展了电子邮件系统,使其...
以下是一个使用Apache HttpClient的例子: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet("http://example.com"); CloseableHttpResponse response = ...
这定义了一个名为`MyAnnotation`的注解,它有一个名为`value`的方法,返回值类型为`String`。 2. **预定义注解** Java标准库提供了一些预定义的注解,例如: - `@Override`: 表示该方法重写了父类的方法。 - `@...
本教程将通过一个PPT和具体的Java代码例子,帮助你轻松掌握JSON在Java中的操作。 首先,我们来看Gson库的使用。Gson是Google提供的一个开源项目,它可以直接将Java对象转换为JSON字符串,反之亦然。例如,如果你有...
本文将深入探讨如何在一个Java项目中整合Spring和Hibernate,以实现高效的数据访问和业务逻辑处理。 首先,集成Spring和Hibernate的关键在于配置。在项目中,你需要创建一个Spring的配置文件(如`...
以上就是一个简单的Java使用jQuery进行登录的例子。这个例子展示了前端与后端的交互,以及基本的身份验证流程。实际应用中,还需要考虑安全性(如密码加密)、错误处理和用户体验等方面。通过学习和实践这个例子,你...
**@Entity 注解** 是JPA中的关键元素之一,用于标记一个Java类作为持久化实体。当一个类被`@Entity`注解后,JPA就会知道这个类是与数据库表对应的。例如: ```java @Entity public class User { @Id private Long...
例如,如果有一个名为`User`的表,我们可以创建一个`User.java`类,使用注解@Entity表示这是一个实体类,@Table指定表名,@Id指定主键: ```java import javax.persistence.Entity; import javax.persistence....
以上代码创建了一个包含一个名为"name"的字符串字段和一个名为"age"的数字字段的对象,还有一个名为"fruits"的数组字段。 4. **使用HTTP客户端发送和接收JSON** 在Web服务中,JSON常用于数据交换。当我们使用像...
GreenDAO是一个针对Android优化的Java ORM库,它允许开发者通过简单的Java对象来操作SQLite数据库。GreenDAO的核心概念包括Entity、Dao(数据访问对象)和Schema(模式)。Entity代表数据库表,Dao提供了对数据库表...
Java HttpClient 是一个强大的库,常用于执行HTTP请求,模拟浏览器行为。在这个小例子中,我们将专注于客户端代码,因为标题提示没有包含服务器端的部分。HttpClient 可以用来进行GET、POST和其他HTTP方法的操作,...
在这个例子中,`entity`对象需要有一个名为`save`的方法,接收一个`String`参数。这样,我们就可以对任何具有相应方法的实体进行保存操作,而无需为每个实体类编写单独的DAO。 在数据库操作中,我们经常需要设置和...
在处理集合时,经常需要将一个集合的内容转移到另一个集合中,或者从一个较大的对象集中移除一个较小的对象集。此时,许多开发者可能会选择通过迭代的方式来添加或移除元素,但这并不是一个高效的方法。每次添加或...
4. Java中的`String`是一个对象,而不是基本数据类型。基本数据类型包括`int`、`long`、`boolean`、`char`、`float`和`double`。`Integer`是`int`的包装类,提供了一些额外的方法,如`parseInt()`用于将字符串转换为...
在上面的例子中,`MyAnnotation`有两个成员:`value`和`number`,都带有默认值。注解成员可以是基本类型、字符串、枚举、其他注解,甚至数组。 使用自定义注解时,将其添加到目标元素上: ```java @MyAnnotation...
在上述代码中,首先创建了一个URL对象,然后打开一个到该URL的连接。设置`setDoOutput(true)`允许发送数据,设置`setReadTimeout`以控制超时时间,并设置`setRequestProperty("User-Agent", "...")`模拟浏览器请求以...
Hibernate 是一个开源的对象关系映射(ORM)框架,它简化了Java应用程序对数据库的操作。在本教程中,我们将探讨如何在实际项目中使用Hibernate进行数据库操作,通过一个完整的实例来展示其核心功能。 1. **环境...