易截截图软件、单文件、免安装、纯绿色、仅160KB

理解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---------->[值"


相关文档:

有关java中的String,StringBuffer,StringBuild

String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经 ......

java 集合

< type="text/javascript"> document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboardData.getData("text"); if (text && text.length>300) { text = text + "\r\n\n本文来自CSDN博客,转载请标明出处:" + location.href; clipboardData.setData( ......

使用Java等比例缩放图像

本文转自http://blog.csdn.net/nokiaguy/archive/2010/04/16/5493817.aspx
缩放图像的基本原理是创建一个目标大小的画布,然后读取源图像,并将该图像绘制这个画布上。为了使程序通用,源图像和缩放后的目标图像应用分别使用
InputStream和OutputStream来表示,代码如下:
    
public
 
st ......

Java中怎么改变字体的一个简单实例和运行效果

package java;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.*;
public class fontnameDome extends JFrame implements ActionListen ......

java文件操作


package com.gamvan.tools;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.Inpu ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号