java中不同的数据类型传值到方法中,会产生什么影响
2015-04-03 01:13
681 查看
package com.marsyoung.learning.java8; public class TestBasicType { /** * 如果参数类型是原始类型,那么传过来的就是这个参数的一个副本,也就是这个原始参数的值,这个跟之前所谈的传值是一样的。 * 如果在函数中改变了副本的 值不会改变原始的值. * @param p */ public static void methonInt(int p) { p = 10; } public static void methonInteger(Integer p) { p = 10; } public static void methonString(String p) { p = "word"; } public static void methonStringObject(String p) { p = "world"; } /**如果参数类型是引用类型,那么传过来的就是这个引用参数的副本,这个副本存放的是参数的地址。 * 如果在函数中没有改变这个副本的地址,而是改变了地址中的 值,那么在函数内的改变会影响到传入的参数。 * @param p */ public static void methodObj(Person p) { p.setId(34534); } /** * 如果在函数中改变了副本的地址,如new一个,那么副本就指向了一个新的地址, * 此时传入的参数还是指向原来的 地址,所以不会改变参数的值。 * * @param p */ public static void methodObj2(Person p) { p = null;//指向了新的地址。 System.out.println(p); p = new Person(); System.out.println(p); } public static void main(String[] args) { int a = 3; Integer b = 4; String s = "hello"; String sobj = new String("hello"); Person p = new Person(); p.setId(12312); TestBasicType.methodObj(p); TestBasicType.methonInt(a); TestBasicType.methonInteger(a); TestBasicType.methonString(s); System.out.println("--int-------->" + a); System.out.println("--Integer-------->" + b); System.out.println("--String-------->" + s); System.out.println("--StringObject-------->" + sobj); System.out.println("--Object-------->" + p.getId()); System.out.println(p); TestBasicType.methodObj2(p); System.out.println(p); } }
<pre name="code" class="java">package com.marsyoung.learning.java8; public class Person { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
相关文章推荐
- 如果java中一个方法不知道要传递多少参数也不知道传递过来的是什么类型的数据你会怎么做?
- Java中几种常用数据类型之间转换的方法
- 常见Java 中数据类型之间的转换的方法!
- JavaScript中不同类型数据的排序方法
- java中paint方法与draw方法有什么不同
- java 校验数据是否为int、double、string类型的方法instanceof
- 常见Java 中数据类型之间的转换的方法!
- ActionForm使用java.util.Date数据类型解决方法(转)
- Java 基础(二) 数据类型:类(class) 其定义方法及其设计方法
- Java中的类型转换对数据的影响分析
- java(基本数据类型参数传值)
- Java的数据类型转换方法
- 主流数据库之间对SQL:2003标准的不同实现方法比较(第六部分 基础数据类型之BOOLEAN)
- 由计算机产生0-9之间的随机整数,用户输入猜测的数据,统计用户猜测的次数。产生随机数可以使用Math.rangom()静态方法,该方法返回正的double类型浮点数位于(0.0 1.0】间。
- Java 方法扔出异常与返回错误值有什么不同
- java中方法的默认类型是什么
- java数据类型之间的转换和什么地方要进行强制类型的转化
- DWR中调用Java对象的方法,不要使用简单数据类型
- 例题4-7向一个方法的基本数据类型参数传值/4-8引用类型参数
- Java里如何实现一个方法在不同情况下“返回”不同的类型变量?