一般大家都清楚primitive type传值的话,不会改变原有值。
For example:
public class TestPrimitiveType {
int original = 9;
int[] arr = {1, 2, 3};
public static void main(String args[]) {
TestPrimitiveType ti = new TestPrimitiveType();
ti.change(ti.original, ti.arr);
System.out.print(ti.original + " and ");
System.out.println(ti.arr[0] + " " + ti.arr[1] + " " + ti.arr[2]);
}
public void change(int original, int[] arr) {
original = 100;
arr[0] = -1;
}
}
输出: 9 and -1 2 3
再测试一下它的wrapper类:
public class TestInteger {
Integer obj = new Integer(9);
Integer[] arr = {1, 2, 3};
public static void main(String args[]) {
TestInteger ti = new TestInteger();
ti.change(ti.obj, ti.arr);
System.out.print(ti.obj + " and ");
System.out.println(ti.arr[0] + " " + ti.arr[1] + " " + ti.arr[2]);
}
public void change(Integer obj, Integer[] arr) {
obj = 100;
arr[0] = -1;
}
}
输出: 9 and -1 2 3,跟它的primitive type一样,并没有在调用change方法后改变其值。
测试一下String类也一样。
public class TestString {
String obj = new String("not changed");
char[] arr = {'a', 'b', 'c'};
public static void main(String args[]) {
TestString ts = new TestString();
ts.change(ts.obj, ts.arr);
System.out.print(ts.obj + " and ");
System.out.println(ts.arr);
}
public void change(String obj, char[] arr) {
obj = "changed";
arr[0] = 'w';
}
}
输出: not changed and wbc,因为String是final class,而且在java方法中String类的调用占80%,因此java对String类做了特殊处理,当String值传递到change方法时,你可以理解为其实是传递了一个拷贝过去,拷贝的obj指向新创建的字符串"changed",但并不改变原有obj的指向。
分享到:
相关推荐
在Java Web开发中,页面传值是不可或缺的一部分,主要用于用户在网页上填写信息后提交到服务器进行处理。本文将详细讲解如何在Java中通过表单(Form)进行页面传值的简单操作。 首先,我们需要了解HTML中的表单元素...
Ajax传值到Java方法中的实现 Ajax技术是当前Web开发中最流行的技术之一,能够实现页面的异步刷新和数据交互。但是,Ajax传值到Java方法中的实现却不是那么简单,需要了解Ajax的原理和Java的Web开发机制。 首先,...
public string YourMethod(string param1, string param2) { // 处理请求,返回结果 } ``` 综上所述,jQuery在.NET环境中的数据传输主要依靠Ajax技术,通过$.ajax()、$.get()、$.post()、$.getJSON()和$.load()等...
### JSP与Servlet之间的传值详解 #### 一、引言 在Web开发中,Java Server Pages (JSP) 和 Servlet 是两种非常重要的技术。它们通常被用来构建动态网页和处理用户请求。JSP 主要负责展示层逻辑,而 Servlet 更多...
### 解决Java enctype "multipart/form-data" 文件上传传值问题 在Java Web开发中,处理文件上传是一项常见的任务。特别是当涉及到使用`multipart/form-data`作为表单的编码类型时,这种需求更为突出。本文将深入...
### JSP与Servlet之间的传值方法详解 #### 一、引言 在Web开发中,JSP(JavaServer Pages)和Servlet是两个重要的技术组成部分,它们通常被用来处理客户端请求并生成动态网页内容。为了实现功能更为复杂的应用,...
xhr.setRequestHeader('Content-Type', 'application/json'); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var response = JSON.parse(xhr.responseText); // ...
### JSP页面之间的传值详解 #### 一、引言 在Web开发中,数据的传递是一项基础且重要的任务。特别是在使用JSP技术时,如何有效地在不同的JSP页面或JSP与Servlet之间进行数据传输,是每个开发者都需要掌握的核心...
### JSP 页面间通过 Request/Session 传值详解 #### 一、背景介绍 在 Web 开发中,尤其是在 JavaServer Pages (JSP) 技术中,数据在不同页面之间的传递是一项基本且重要的功能。本篇文章将详细介绍如何利用 JSP 的 ...
在JavaServer Pages (JSP) 开发中,页面间的参数传递是常见的需求,尤其是在构建多页面应用程序时。这里我们将详细探讨几种在JSP中传递参数的方法,并通过示例来理解它们的工作原理。 1. **URL请求参数传递** 这是...
在JSP(Java Server Pages)开发中,页面间的传值是一项非常基础且重要的技术。它涉及到如何在不同页面之间传递数据,以实现页面间的数据共享。本文将根据提供的文件信息,详细介绍几种常见的JSP页面间传值方法,并...
本文将详细讲解如何利用`HttpServletRequest`对象在Java和JSP之间进行request传值。 首先,我们需要了解`HttpServletRequest`对象。它是Servlet API中的一个接口,用于获取HTTP请求的相关信息,包括请求参数、请求...
TypeFile.java 显示文件内容的类 useScanner.java 用Scanner接收用户的输入 第8章 示例描述:本章学习多线程。 enhanceThread.java 一个自己定义的增强型线程类 ThreadImRunnable.java 继承Runnable接口实现多...
public static <E> List<E> jsonToList(String jsonString, Class<E> elementType) { return JSON.parseArray(jsonString, elementType); } ``` 4. **自定义类型转换** Fastjson支持自定义类型转换,例如日期...
### Struts2 传值方式详解 在Struts2框架中,实现前后台的数据传递是构建Web应用的基础之一。本文将详细介绍三种常见的Struts2数据传递方式:通过默认的Action属性传递、使用Value Object(VO)传递以及利用...
<meta http-equiv="Content-Type"> <!-- JSP页面展示数据 --> ``` 在这个JSP页面中,可以使用`<c:out>`标签来输出单个对象的属性,使用`<c:forEach>`标签来遍历对象列表,并输出每个对象的相关属性。EL表达式...
public String execute() throws Exception { // 设置参数 setSchoolId("someValue"); setPassword("somePassword"); // 跳转到另一个Action return "redirectAction"; } ``` 然后在配置文件中添加相应的结果...
<mime-type>x-world/x-vrml</mime-type> ``` 这是为了让Web容器能够正确识别并处理`.wrl`扩展名的文件,即VRML文件。 4. **编写JSP页面**:创建一个JSP页面,设置响应类型为VRML,并在其中嵌入VRML代码,如下...
本文将详细介绍JSP到Servlet以及Servlet返回到JSP的传值方式。 首先,我们来看JSP到Servlet的数据传递: 1. **表单提交**: 当用户在JSP页面上填写表单并提交时,表单数据会通过HTTP请求发送到指定的Servlet。...
在 Java 中,需要指定类型(Type.INT),Api 里的 int、float 等基本类型和 String 类型。Api 里的 date,是用 int[] 表示的。 在传值与返回值时,JNative 对象调用 invoke 后会有返回,对照 API,一般返回值是调用...