`

了解值传递和引用传递

    博客分类:
  • java
 
阅读更多
Java中,String、Date、基本类型和基本类型的封装类都是以值的方式参数传递,而其他类型都是以引用的方式参数传递。
值参数传递示例:
//基本类型
public static void main(String[] args) {
int i = 5;
counter(i);
System.out.println(i); //5
}
static void counter(int t) {
t = 23;
}

//基本类型封装类
public static void main(String[] args) {
Integer age = new Integer(12);
counter(age);
System.out.println(age); //12
}
static void counter(Integer age) {
age = 27;
}

//String类
public static void main(String[] args) {
String str = new String("First");
counter(str);
System.out.println(str); //First
}
static void counter(String str) {
str = "Second";
}

//Date类
public static void main(String[] args) {
Date now = new Date();
counter(now);
System.out.println(now); //Fri Mar 06 22:15:14 CST 2009
}
static void counter(Date date) {
date = null;
}

引用参数传递示例:
//StringBuffer类
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("First");
counter(sb);
System.out.println(sb); //FirstSecond
}
static void counter(StringBuffer sb) {
sb.append("Second");
}

//String数组
public static void main(String[] args) {
String[] sa = new String[1];
sa[0] = "A";
counter(sa);
System.out.println(sa[0]); //[B]
}
static void counter(String[] alias) {
alias[0] = "B";
}

//List类
public static void main(String[] args) {
List list = new ArrayList();
list.add("A");
counter(list);
System.out.println(list); //[A, B]
}
static void counter(List alias) {
alias.add("B");
}
分享到:
评论

相关推荐

    java 值传递和引用传递的比较

    在Java编程语言中,了解值传递和引用传递的概念至关重要,因为它们直接影响到函数参数的处理方式。下面将详细探讨这两个概念及其区别。 首先,我们来理解什么是值传递。在Java中,基本数据类型(如int、double、...

    C#笔记值传递和引用传递

    在C#编程语言中,了解值传递和引用传递的概念至关重要,因为这直接影响到函数或方法如何处理参数。本文主要探讨这两个概念以及与之相关的知识点。 首先,值传递是指当一个方法或函数调用时,实际参数(即调用时提供...

    值传递与引用传递-内存解析

    了解值传递和引用传递对于编写高效且易于维护的代码至关重要。在设计函数接口时,应考虑这两种传递方式的优缺点,以及它们对程序行为和内存管理的影响。同时,理解内存解析可以帮助我们更好地跟踪和理解代码执行过程...

    java通过实例了解值传递和引用传递

    java通过实例了解值传递和引用传递 Java语言中有两种基本的参数传递方式:值传递和引用传递。值传递是指在方法调用时,传递的参数是按值的拷贝传递。引用传递是指在方法调用时,传递的参数是按引用进行传递,其实...

    Java面向对象值传递和引用传递

    值传递和引用传递的区别可以用一个简单的例子来解释:值传递是一样的设计图纸,你可以根据这个设计图纸盖一个新的房子,然后你可以随便修改这个房子,而不影响原来的房子。引用传递是把家门牌号告诉你,然后你来我家...

    Delphi值传递和引用传递实例

    了解并熟练掌握值传递和引用传递的原理和使用场景,是每个Delphi程序员的基本功。通过实践和分析具体实例,例如提供的"zhichuandi"文件中的代码,可以更深入地理解这两种传递方式的差异和应用。

    经典:值传递和引用传递.rar

    在编程语言中,值传递和引用传递是两个重要的概念,它们涉及到函数参数的处理方式,影响着代码的行为和性能。本教程将深入探讨这两种传递方式的差异和应用场景。 首先,让我们来理解“值传递”。在值传递中,当一个...

    Java中的值传递和引用传递的区别.doc

    Java 中的值传递和引用传递的区别 Java 中的值传递和引用传递是两个不同的参数传递机制。值传递是指当基本数据类型作为入口参数传给函数体时,传入的参数在函数体内部变成了局部变量,这个局部变量是输入参数的一个...

    java中的值传递和引用传递[汇编].pdf

    Java编程语言中,参数传递的方式主要有两种:值传递和引用传递。然而,由于Java不支持指针,所以严格意义上的引用传递并不存在。但是,通过对象的传递,Java实现了类似引用传递的效果。 值传递是Java中基本类型的...

    C语言地址传递与值传递

    首先,了解值传递。在值传递中,函数接收的参数是实际参数(实参)的一个副本。在函数调用时,实参的值被复制到形参中。对形参的任何操作都不会影响实参。这种方式适用于基本数据类型,如int、char等。因为值传递只...

    java 之方法调用 方法传参 值传递还是引用传递字节码

    本文将深入探讨Java中的方法调用、值传递与引用传递,并通过字节码分析来进一步理解这些概念。 首先,我们来看方法调用。在Java中,方法是一组完成特定任务的代码块,可以通过方法名来调用执行。方法调用的基本语法...

    Python中 传递值 和 传递引用 的区别解析

    首先,我们来解释一下什么是值传递和引用传递。在值传递中,函数接收的是原始数据的一个副本,对这个副本的任何修改都不会影响到原始数据。而在引用传递中,函数接收的则是数据的引用地址,通过这个地址可以对原始...

    引用和对象的关系,还有值传递

    ### 引用和对象的关系,还有值传递 #### Java中的对象和引用 在Java中,理解和区分对象与对象引用对于编程至关重要。本文将基于提供的内容深入探讨这些概念,并结合值传递这一主题,帮助读者更好地理解Java的核心...

    浅谈JavaScript 函数参数传递到底是值传递还是引用传递

    然而,JavaScript的实现其实更为复杂,它包含了值传递和引用传递的特性,但并不完全等同于这两种方式。 首先,我们来看基础类型的参数传递。例如,对于一个数字`num`: ```javascript function add(num) { num +=...

    Java中值传递和引用传递的区别

    Java中值传递和引用传递的区别详解 Java中值传递和引用传递是两个重要的参数传递机制,它们在程序设计中发挥着至关重要的作用。了解这两种机制的区别对于程序员来说是非常必要的。本文将通过示例代码详细介绍Java...

    Remoting简单例子(按值和按引用传递的比较)

    首先,我们需要了解在编程中,按值传递和按引用传递的基本概念: 1. **按值传递**:当函数或方法接收到一个参数时,会创建该参数的一个副本。任何对副本的修改都不会影响原始变量。在.NET中,基本类型如int、bool等...

Global site tag (gtag.js) - Google Analytics