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

关于java数组之间的直接赋值

Java中由于是传递的是引用,因此两个数组之间可以直接赋值,比如
Java code:

public void setValue(String []src){
String []target = src;
}

这样也是允许的,因为target 获得的是Src的引用,它们指向同一块内存,但在C、C++中是不允许的,请问对于Java数组间赋值,直接赋引用好还是需要循环来一个个赋值?比如安全性,时间复杂度等等或者日常开发习惯方面来谈谈
1. 你可以直接赋值一个个的,会安全的,因为java数组是有界的
2. 你可以使用System.arrayCopy这个效率会高些。

是的,同意楼上的。

引用
1. 你可以直接赋值一个个的,会安全的,因为java数组是有界的
2. 你可以使用System.arrayCopy这个效率会高些。
直接赋引用 比如: target = src;这样也可以,不知道推荐这样使用吗?

如果是一个个的赋值的话,就不是同一个对象了.题中就是 :
String[] target = new String[src.length()];
所以说 要直接给它引用还是一个个赋值得看情况而定了.

支持System.arrayCopy。另外,在Java里数组在使用前一定要预先定义大小。

引用
引用 1 楼 zealvampire 的回复:
1. 你可以直接赋值一个个的,会安全的,因为java数组是有界的
2. 你可以使用System.arrayCopy这个效率会高些。
直接赋引用 比如: target = src;这样也可以,不知道推荐这样使用吗?

这样不安全,两个数组指向同一个引用,修改了一个数组的值,会造成另一个数组的值也被修改。 <


相关问答:

jsp页面获取session的问题 - Java / Java EE

我在jsp页面存上一个session,本页面还可以取出值来.
但是一刷新,或者打开新的页面就取不出值来了.
奇怪的是,我测试另一个程序时候
在jsp页面存上一个session,本页面可以取出值来,刷新或打开新页面值能取出来了.
......

jsp页面中字体变色问题 - Java / Web 开发

<html><head><title>[@title]</title>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<script language='javascript'>
function diyCheck ......

execl怎么调用java程序 - C/C++ / C语言

如题,C/C++中的execl怎么调用写好的java程序,
execl("/opt/java1.5/bin/java","MyClass",NULL);
这样的不行哦。

不会.

运行java程序
找工具查看一下那个程序的命令行

搜索下:jni ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号