`
qtlkw
  • 浏览: 307208 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java String type传值

    博客分类:
  • JAVA
阅读更多
一般大家都清楚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的指向。
0
1
分享到:
评论

相关推荐

    java中页面传值的简单操作

    在Java Web开发中,页面传值是不可或缺的一部分,主要用于用户在网页上填写信息后提交到服务器进行处理。本文将详细讲解如何在Java中通过表单(Form)进行页面传值的简单操作。 首先,我们需要了解HTML中的表单元素...

    Ajax传值到java的方法中

    Ajax传值到Java方法中的实现 Ajax技术是当前Web开发中最流行的技术之一,能够实现页面的异步刷新和数据交互。但是,Ajax传值到Java方法中的实现却不是那么简单,需要了解Ajax的原理和Java的Web开发机制。 首先,...

    Jquery传值 mode

    public string YourMethod(string param1, string param2) { // 处理请求,返回结果 } ``` 综上所述,jQuery在.NET环境中的数据传输主要依靠Ajax技术,通过$.ajax()、$.get()、$.post()、$.getJSON()和$.load()等...

    JSP与servlet之间的传值

    ### JSP与Servlet之间的传值详解 #### 一、引言 在Web开发中,Java Server Pages (JSP) 和 Servlet 是两种非常重要的技术。它们通常被用来构建动态网页和处理用户请求。JSP 主要负责展示层逻辑,而 Servlet 更多...

    解决java enctype multipart form-data文件上传传值问题

    ### 解决Java enctype "multipart/form-data" 文件上传传值问题 在Java Web开发中,处理文件上传是一项常见的任务。特别是当涉及到使用`multipart/form-data`作为表单的编码类型时,这种需求更为突出。本文将深入...

    JSP和Serverlet之间的传值方法

    ### JSP与Servlet之间的传值方法详解 #### 一、引言 在Web开发中,JSP(JavaServer Pages)和Servlet是两个重要的技术组成部分,它们通常被用来处理客户端请求并生成动态网页内容。为了实现功能更为复杂的应用,...

    jsp网页产生json传值到java的servlet,再回传到jsp页面

    xhr.setRequestHeader('Content-Type', 'application/json'); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var response = JSON.parse(xhr.responseText); // ...

    jsp页面之间的传值

    ### JSP页面之间的传值详解 #### 一、引言 在Web开发中,数据的传递是一项基础且重要的任务。特别是在使用JSP技术时,如何有效地在不同的JSP页面或JSP与Servlet之间进行数据传输,是每个开发者都需要掌握的核心...

    jsp页面间通过request/session传值

    ### JSP 页面间通过 Request/Session 传值详解 #### 一、背景介绍 在 Web 开发中,尤其是在 JavaServer Pages (JSP) 技术中,数据在不同页面之间的传递是一项基本且重要的功能。本篇文章将详细介绍如何利用 JSP 的 ...

    多页面JSP传值

    在JavaServer Pages (JSP) 开发中,页面间的参数传递是常见的需求,尤其是在构建多页面应用程序时。这里我们将详细探讨几种在JSP中传递参数的方法,并通过示例来理解它们的工作原理。 1. **URL请求参数传递** 这是...

    关于JSP页面间的传值

    在JSP(Java Server Pages)开发中,页面间的传值是一项非常基础且重要的技术。它涉及到如何在不同页面之间传递数据,以实现页面间的数据共享。本文将根据提供的文件信息,详细介绍几种常见的JSP页面间传值方法,并...

    java和jsp之间的request传值方法

    本文将详细讲解如何利用`HttpServletRequest`对象在Java和JSP之间进行request传值。 首先,我们需要了解`HttpServletRequest`对象。它是Servlet API中的一个接口,用于获取HTTP请求的相关信息,包括请求参数、请求...

    Java开发技术大全(500个源代码).

    TypeFile.java 显示文件内容的类 useScanner.java 用Scanner接收用户的输入 第8章 示例描述:本章学习多线程。 enhanceThread.java 一个自己定义的增强型线程类 ThreadImRunnable.java 继承Runnable接口实现多...

    android常用json传值解析工具类

    public static <E> List<E> jsonToList(String jsonString, Class<E> elementType) { return JSON.parseArray(jsonString, elementType); } ``` 4. **自定义类型转换** Fastjson支持自定义类型转换,例如日期...

    struts2-传值方式

    ### Struts2 传值方式详解 在Struts2框架中,实现前后台的数据传递是构建Web应用的基础之一。本文将详细介绍三种常见的Struts2数据传递方式:通过默认的Action属性传递、使用Value Object(VO)传递以及利用...

    java-jsp springmvc-controller 传值到页面的方法

    <meta http-equiv="Content-Type"> <!-- JSP页面展示数据 --> ``` 在这个JSP页面中,可以使用`<c:out>`标签来输出单个对象的属性,使用`<c:forEach>`标签来遍历对象列表,并输出每个对象的相关属性。EL表达式...

    acton之间传值

    public String execute() throws Exception { // 设置参数 setSchoolId("someValue"); setPassword("somePassword"); // 跳转到另一个Action return "redirectAction"; } ``` 然后在配置文件中添加相应的结果...

    实现jsp+vrml动态传值

    <mime-type>x-world/x-vrml</mime-type> ``` 这是为了让Web容器能够正确识别并处理`.wrl`扩展名的文件,即VRML文件。 4. **编写JSP页面**:创建一个JSP页面,设置响应类型为VRML,并在其中嵌入VRML代码,如下...

    总结JSP与servlet之间的传值

    本文将详细介绍JSP到Servlet以及Servlet返回到JSP的传值方式。 首先,我们来看JSP到Servlet的数据传递: 1. **表单提交**: 当用户在JSP页面上填写表单并提交时,表单数据会通过HTTP请求发送到指定的Servlet。...

    java读取PI数据库测点值.docx

    在 Java 中,需要指定类型(Type.INT),Api 里的 int、float 等基本类型和 String 类型。Api 里的 date,是用 int[] 表示的。 在传值与返回值时,JNative 对象调用 invoke 后会有返回,对照 API,一般返回值是调用...

Global site tag (gtag.js) - Google Analytics