java传值和通过引用传递

第一次使用int实验:

public class TTEST {private static   List<UserEntity> mList = new LinkedList<UserEntity>(); public static void main(String[] args) {int a = 0;changeA(a);System.out.println("a = "+a);}public static void changeA(int a){a = 1;}
}

输出:a = 0

这说明对于int值是按值传递。其它几个基本类型也是如此。

再使用自定义的类UserEntity来实验:

public class UserEntity {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}}

public class TTEST {public static void main(String[] args) {UserEntity userEntity = new UserEntity();userEntity.setName("猿猴");changeName(userEntity);System.out.println("name = "+userEntity.getName());}public static void changeName(UserEntity userEntity){userEntity.setName("忽必烈");}
}
输出:name = 忽必烈

我们再来使用一个linkedList<Object>来实验:

import java.util.LinkedList;
import java.util.List;public class TTEST {private static List<UserEntity> mList = new LinkedList<UserEntity>(); public static void main(String[] args) {UserEntity userEntity = new UserEntity();userEntity.setName("石头");addUser(userEntity);System.out.println("name = "+userEntity.getName());}public static void addUser(UserEntity userEntity){mList.add(userEntity);mList.get(0).setName("猿猴");}
}
输出:name = 猿猴

这说明在使用我们自定义的类时,是按引用传递的。


接着。再来使用String实验:

public class TTEST {public static void main(String[] args) {String str= "開始的";changeStr(str);System.out.println("str = "+str);}public static void changeStr(String str){str = "改变的";}
}
输出:str = 開始的

用Integer做实验也会发现没有改变。

说明我们依照java内置的对象也是值传递。因此我们能够做例如以下总结:

仅仅要我们自定义的类创建的对象。都是引用传递,系统内置基本类型和对象是通过转移。


版权声明:本文博客原创文章,博客,未经同意,不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/263063.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

好消息:VS 2008 and .NET 3.5 Beta 2 发布了

消息来源:http://weblogs.asp.net/scottgu/archive/2007/07/26/vs-2008-and-net-3-5-beta-2-released.aspx下载地址http://www.microsoft.com/downloads/results.aspx?DisplayLangen&nr20&freetextvisualstudio2008&sortCriteriadate特点:- VS 2008 Multi-Targeti…

android 之数据存储(IO)

android 操作文件分为两种&#xff0c; 第一种&#xff1a;直接写到手机内存中&#xff0c;手机内存有限。 第二种&#xff1a;写到手机的内存卡(SD)中&#xff0c;进行操作文件。 以下分为两种情况的读精心操作&#xff0c;一个简单的demo.在此做一个记录。 代码。 package co…

Aspose.Java实现word转pdf,添加水印等操作

Aspose.Java实现word转pdf&#xff0c;添加水印等操作一. word转pdf二. 文档插入水印Aspose是一款商用版控件&#xff0c;支持各类文档操作&#xff0c;这里主要介绍如何在Springboot项目中使用破解版。 一. word转pdf 在项目中导入aspose.word包 百度网盘下载 提取码&#x…

django 1.8 官方文档翻译: 3-4-2 内建显示视图

Django 文档协作翻译小组人手紧缺&#xff0c;有兴趣的朋友可以加入我们&#xff0c;完全公益性质。 交流群&#xff1a;467338606 网站&#xff1a;http://python.usyiyi.cn/django/index.html 基于类的内建通用视图 编写Web应用可能是单调的&#xff0c;因为你需要不断的重复…

(原)学习ORACLE 视图

--视图--视图是一个逻辑表&#xff0c;是查看表的一种方式&#xff0c;用来定义来自一个或多个表的行和列的多种连接。通过视图&#xff0c;可以查看到表中的数据。--创建视图CREATE VIEW MYTEST.V_INFO(ID,NAME,LOGINNAME,Address)ASSELECT TEST.ID,TEST.NAME,TEST.LOGINNAME,…

记一次Hbase数据迁移和遇到的问题

因为集群不互通&#xff0c;所以采用手动方式迁移 1、下载目标集群数据 hadoop fs -get /apps/hbase/data/data/default/*c4be21d3000064c0 /mnt/data 2、远程复制数据&#xff0c;可以压缩一下 scp *** 3、上传数据到HDFS&#xff0c;一定要切换到hbase用户&#xff0c;不然会…

IIS中“使用 XSL 样式表无法查看 XML 输入”问题的解决

IIS中“使用 XSL 样式表无法查看 XML 输入”问题的解决2009-05-13 15:15今日安装IIS后&#xff0c;随便写了一个aspx的文件作为测试&#xff0c;发现浏览器中显示&#xff1a;使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。这才发现了如下一个问…

SQL三种连接:内连接、外连接、交叉连接

SQL三种连接&#xff1a;内连接、外连接、交叉连接一、交叉连接&#xff08;CROSS JOIN&#xff09;二、内连接&#xff08;INNER JOIN&#xff09;三、外连接&#xff08;LEFT JOIN、RIGHT JOIN、FULL JOIN&#xff09;1.左外连接2.右外连接3.完整外连接准备两张表并以PersonI…

二叉树非递归先序遍历

二叉树的递归先序遍历很简单&#xff0c;假设二叉树的结点定义如下: 1 struct BinaryTreeNode 2 { 3 int m_nValue; 4 BinaryTreeNode* m_pLeft; 5 BinaryTreeNode* m_pRight; 6 }; 递归先序遵循:根-左-右的顺序 1 void PreOrder(BinaryTreeNode* Root) 2 { 3 …

面向对象与基于对象 区别

很多人没有区分“面向对象”和“基于对象”两个不同的概念。面向对象的三大特点&#xff08;封装&#xff0c;继承&#xff0c;多态&#xff09;却一不可。通常“基于对象”是使用对象&#xff0c;但是无法利用现有的对象模板产生新的对象类型&#xff0c;继而产生新的对象&…

Flex与Javascript交互

关键字&#xff1a;ExternalInterface 所用类库&#xff1a;SWFObject /** * Flex调用Javascript函数 * params functionName:String Javascript函数名称 * params ...params Javascript函数参数 * return 返回Javascript函数的return内容 **/ ExternalInterface.call(…

显示器调校与Soft Proofing ZZ

版权归原作者所有&#xff01; http://www.cgan.net/science/popular/cookie/displayregulate.htm 自从桌面出版走到计算机上&#xff0c;显示器成为印前流程中重要的设备之一。从扫描、数码摄影、相片修改、排版等工序中&#xff0c;也可找到显示器的存在。但往往很多同业却忽…

SparkContext: Error initializing SparkContext解决方法

SparkContext: Error initializing SparkContext解决方法Spark在配置高可用集群中&#xff0c;出现报错 ERROR SparkContext: Error initializing SparkContext. java.net.ConnectException: Call From hadoop102/192.168.10.102 to hadoop102:8020 failed on connection excep…

tomcat 绑定 ip 及域名,限制非法域名访问

公司WEB 采用linuxtomcat架构。经常会收到电信的警告&#xff0c;说某个IP下挂用了未备案域名&#xff0c;如果不处理就封IP。鉴于此&#xff0c;需要将tomcat的访问地址进行限制&#xff0c;只允许通过IP地址或者自己指定的域名来访问。配置tomcat/conf/server.xml 文件&#…

数据库设计(四)概念数据模型

目标&#xff1a;本文主要介绍如何定义实体的主、次标识符。一、标识符标识符是实体中一个或多个属性的集合&#xff0c;可用来唯一标识实体中的一个实例。要强调的是&#xff0c;CDM中的标识符等价于PDM中的主键或候选键。每个实体都必须至少有一个标识符。如果实体只有一个标…

error C2471和error C1083

error C2471和error C1083 VS2008IDE&#xff1a;编译时出现问题&#xff1a;error C2471: 无法更新程序数据库“d:\my documents\visual studio 2008\projects\mdib\mdib\debug\vc90.pdb”error C1083: 无法打开程序数据库文件:“d:\my documents\visual studio 2008\projects…

中文/英文换行总结

html部分 <div class"parent"><p class"p1">湿哒哒大的大大大的大的大大大的大的啊啊大大大啊大大打啊打大大大</p><p class"p2">湿哒哒大的大大大的大的大大大的大的啊啊大大大啊大大打啊打大大大</p><p clas…

Go学习笔记—基于Go的进程间通信

IPC&#xff08;Inter-Process Communication 进程间通信&#xff09; 一般方法&#xff1a;(1) 半双工Unix管道 (2) FIFOs(命名管道) (3) 消息队列 (4) 信号量 (5) 共享内存 (6) 网络Socket (7) RPC(远程过程调用) &#xff08;一&#xff09;管道&#xff08;Pipe&#xff…

rsync+lsyncd实现(本地以及远程)文件实时同步

lsyncd基于lua语言开发&#xff0c;整合了rsync和notify 实现文件的实时同步 系统环境cat /etc/issue CentOS release 6.6 (Final)uname -sr Linux 2.6.32-504.el6.x86_64 服务器规划 rsync服务器&#xff1a; 192.168.10.241 rsync lsyncd服务器 &#xff…

萨蒂扬软件技术(南京)研发中心”落户高新区

萨蒂扬软件技术&#xff08;南京&#xff09;研发中心”落户高新区 2007-02-12“中国软件名城”成为南京吸引世界软件巨头强磁场“萨蒂扬软件技术&#xff08;南京&#xff09;研发中心”落户高新区 世界知名的印度软件企业巨头萨帝扬计算机服务有限公司挥师江苏亮出精彩第一笔…