理解java传值还是传引用
/**
*探究值传递与引用传递
* 看了好多关于java值传递和引用传递的文章,深感迷惑
* 所以就自己看看大虾们的思路,自己用代码动手实验,
* 感觉挺爽的。
* @author java魔人
* 2009-07-20 下午
*/
public class Test {
// method1
public static void changValue1(int a, int b) {
int c = a;
a = b;
b = c;
}
// method2(从结果来看:显而易见:值传递)
public static void print1() {
int x = 0;
int y = 1;
changValue1(x, y); // 传递的是值得coapy,x,y自身没变化。
System.out.println("x=" + x); // 输出:x=0
System.out.println("y=" + y); // 输出:y=1
}
/**
* 个人总结:以上方法没有完成我们的理想。仔细分析如下,看看内存中的存储方式:
* method2方法的两个成员变量:
* 变量 内存
* x--------->[值0]
* y--------->[值1]
* 调用changValue(x,y)时,内存中是这样的情景:
* x------>[值0]
* (一次复制)
* a------>[值0]
* y同理
* 此时,好像与x,y没什么关系了啊。
*
*/
// method3
public static void changeValue2(StringBuffer a) {
a.append(" zhangxiangrong");
}
// method4(从结果来开:应该是引用传递)
public static void print2() {
StringBuffer sb = new StringBuffer("I'm");
changeValue2(sb); // 传递的是引用,所以执行完后,sb的值不再是"I'm"了。
System.out.println("sb=" + sb.toString()); // 输出:I'm zhangxiangrong
}
/**
* 个人总结:这个和上面的例子貌似差不多,但可以改变sb的的值。看看内存中情景
* 开始:
* sb---------->[值"I'm"]
* 调用changeValue2(StringBuffer a)时,就大变样了,(因为不是拷贝了)
* sb---------->[值"
相关文档:
2008 年 6 月 24 日
原文地址: http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0806wangys/
本文介绍 IBM FileNet P8 4.0 Platform 提供的 Content Java API。首先对 FileNet P8 Content Engine 和 API 进行概要介绍, 并说明了一些基本概念,随后详细介绍了 FileNet Content Engine提供的基于 EJB ......
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经 ......
C#中显示中文:
【
发送数据:
string sReturnData = "你好";
Byte[]
bReturnData = Encoding.ASCII.GetBytes(sReturnData.ToCharArray());
m_sktSession.Send(bReturnData);
【将出现乱码】
】  ......
安装好jdk以后需要添加环境变量,才能在命令行中使用java命令.
很多人"问为什么javac找不到"就是因为没添加环境变量.
windows 上可写一个.bat脚本:
set JAVA_HOME=d:\Java\jdk1.6.0_20
set PATH=%PATH%;%JAVA_HOME%\bin ......
前天傍晚我发表了《Java的跨平台就是一句谎言。》,原本就是周末闲来无事,发表一篇略带争议性的博文让大家都来吵吵架,发表自己的看法,根本就没想着谁把谁打倒,一个行业或者是技术阵营是无法用短期口水仗打到对手的,而且无论谁倒了对双方阵营的粉丝们也是有害无益。
我感觉可以顶到50楼,出乎意料的是大家居然纷纷写出 ......