假如char[] common;一个已知数组 x;
common=x;我是要传一个固定的数组给另个数组common,common是实现在X基础上在多处把一个特定的字符替换成其他新的字符,新字符个数不一定等于被替换字符的个数.我自己写了一个方法不过好象很多错误啊,那个方法目的是为了把换行符替换成<br>,把<替换成&lt;,把>替换成>,把单引号,双引号,反斜杠分别实现自动转义.
public class shiarray{
private char[] common,char[] newcommon;
private int i,n,k;
public shiarray(){}
public void setcommon(char[] x) {
common=x;
n=common.length;
for(i=0,k=0;i<n;i++){
switch(common[i]){
case char(10):
newcommon[k]='<';
newcommon[k+1]='b';
newcommon[k+2]='r';
newcommon[k+3]='>';
k=k+3;break;
case '<':
newcommon[k]='&';
newcommon[k+1]='l';
newcommon[k+2]='t';
newcommon[k+3]=';';
k=k+3;break;
case '>' :
newcommon[k]='&';
newcommon[k+1]='g';
newcommon[k+2]='t';
newcommon[k+3]=';';
k=k+3;break;
case char(96) :
newcommon[k]='\';
newcommon[k+1]=96;
k=k+1;break;
case char(34) :
newcommon[k]='\';
newcommon[k+1]=34;
k=k+1;break;
case char(92) :
newcommon[k]=92;
newcommon[k+1]=92;
k=k+1;break;
default :newcommom[k]=common[i];
}
k++;
}
}
}
common=x;我是要传一个固定的数组给另个数组common,common是实现在X基础上在多处把一个特定的字符替换成其他新的字符,新字符个数不一定等于被替换字符的个数.我自己写了一个方法不过好象很多错误啊,那个方法目的是为了把换行符替换成<br>,把<替换成&lt;,把>替换成>,把单引号,双引号,反斜杠分别实现自动转义.
public class shiarray{
private char[] common,char[] newcommon;
private int i,n,k;
public shiarray(){}
public void setcommon(char[] x) {
common=x;
n=common.length;
for(i=0,k=0;i<n;i++){
switch(common[i]){
case char(10):
newcommon[k]='<';
newcommon[k+1]='b';
newcommon[k+2]='r';
newcommon[k+3]='>';
k=k+3;break;
case '<':
newcommon[k]='&';
newcommon[k+1]='l';
newcommon[k+2]='t';
newcommon[k+3]=';';
k=k+3;break;
case '>' :
newcommon[k]='&';
newcommon[k+1]='g';
newcommon[k+2]='t';
newcommon[k+3]=';';
k=k+3;break;
case char(96) :
newcommon[k]='\';
newcommon[k+1]=96;
k=k+1;break;
case char(34) :
newcommon[k]='\';
newcommon[k+1]=34;
k=k+1;break;
case char(92) :
newcommon[k]=92;
newcommon[k+1]=92;
k=k+1;break;
default :newcommom[k]=common[i];
}
k++;
}
}
}
不然的话就用Collection或者Map系列
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src:源数组
srcPos:源数组拷贝的元素的起始索引
dest:目标数组,必须有足够的空间来容纳新元素,否则抛出异常
destPos:目标数组的起始索引
length:要拷贝的元素个数
你举个实际的例子吗?
import java.util.Collection;
import java.util.TreeSet;
import java.util.Iterator;public class ChangeArg{
public Collection Change(Char[] x){
Collection tset = new TreeSet();
for(int i=0;i<x.length()-1;i++){
Char temp = x[i];
switch(temp){
case '<': tset.add("<");break; //替换中...
case '>': tset.add(">");break;
... //省略(懒得写了)
default : tset.add("" + x[i]);
}
Char[] result = new Char[x.length()-1];
Iterator itor = tset.getIterator();
while(itor.hasNext()){
result += itor.Next();
}
return result;
}
}
我身边没有IDE,随手写的,如果实现不了的话自己去看看J2EE方面的书
或是多发贴等高手来帮你
初学者通常都把ArrayList看成动态数组