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

Java 数组 的 拷贝

 复制数组的方法:
在JAVA里面,可以用复制语句“A=B”给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组;如果一个数组发生改变,那么引用同一数组的变量也要发生改变。
以下是归纳的JAVA中复制数组元素值的的方法:(深拷贝)
1。使用FOR循环,将数组的每个元素复制(需要将每个对象调用clone方法,才能实现真正的复制)
2。使用clone方法,得到数组的值,而不是引用
3。使用System.arraycopy(s,start1,t,start2,length)方法
(注意:s是原数组,t是目标数组,start1&start2是开始复制下标,length一般是s的长度,由于arraycopy方法不给目标数组分配内存空间,所以必需要先为t分配内存空间!)
注意:
1.上面方法中arraycopy效率较高。
2. 以上所说的拷贝数组的方法,只是针对一维数组,对于多维数组,要在每一维用以上方法进行复制才能实现复制数组元素的值而不是引用。
3. clone 和 arraycopy对二维数组进行复制时,是浅拷贝, 即
Object[][] aa;
Object[][] bb = aa.clone();
//or bb=System.arraycopy(aa,0,bb, 0, bb.length);
则:
boolean b1 = ( aa[i] == bb[i] ); //true
boolean b2 = (aa[i][j] == bb[i][j]); //true, 可见数组元素只复制了引用。新旧数组指向相同的内存地址。(不论对象数组,还是基本类型数组)
//以下是例程
public class Test {
    public static void main(String[] args) {
       
        /*
        * 对象的引用传递
        */
//        A a = new A();
//        B b = new B(a);
//        System.out.println( a.getName() );
//        System.out.println( b.getA().getName() );
//        System.out.println( a==b.getA() );
//        a.setName("KE");
//        System.out.println( b.getA().getName() );


相关文档:

Java调用C/C++ – JNI

昨天才看到,但是遇到一些问题,今天解决了,记下……(参考:http://netbeans.org/kb/55/beginning-jni-part1.html)
我用的是Netbeans 6.7,但是和其他的也应该大同小异吧。 基本流程: Java这边的:
创建java文件(带native的),还要记得在类中加入:System.loadLibrary(xxx) 。
然后用javah来生成C/ ......

sql 2005 存储过程分页 java 代码

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列 ......

A example to run the Java APP in bat

@echo off cls REM --- BEG MACHINE-DEPENDENT ---- set HOME_J2RE=C:\Program Files\Java\jdk1.5.0_17 REM --- END MACHINE-DEPENDENT ---- set HOME_JAVA=%HOME_J2RE%\bin\java set HOME_JAVA="%HOME_JAVA%" set ARG_MEMORY=-Xms128m -Xmx196m set PROP_POLICY=-Dorg.ragingcat.kst.uikeytool.policy.extende ......

java操作Excel

// 创建Excel
    String destFileName = tableName + ".xls";//文件名
    response.setContentType("application/vnd.ms-excel");
    response.setHeader("Content-Disposition", "attachment; filename=".concat(String .valueOf(destFileNa ......

java位运算

Java 定义的位运算(bitwise operators )直接对整数类型的位进行操作,这些整数类型包括long,int,short,char,and byte 。表4-2 列出了位运算:
表4.2 位运算符及其结果
运算符                     &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号