代码1: public static <T> T[] subArray(T[] args, int start, int end) {
T[] temp = (T[]) Array.newInstance(String.class, end - start + 1);
for (int i = start; i <= end; i++) {
temp[i - start] = args[i];
}
return temp;
}代码2: public static <T> T[] subArray(T[] args, int start, int end) {
T[] temp = (T[]) Array.newInstance(args[0].getClass(), end - start + 1);
for (int i = start; i <= end; i++) {
temp[i - start] = args[i];
}
return temp;
}代码3: public static <T> T[] subArray(Class<T> c,T[] args, int start, int end) {
T[] temp = (T[]) Array.newInstance(c, end - start + 1);
for (int i = start; i <= end; i++) {
temp[i - start] = args[i];
}
return temp;
}
这三段代码都是实现的一个功能,就是截数组.有个问题就是,怎么样才能在不传Class<T>的情况下保证方法正确,而我又不想用args[0].getClass()...代码1假定传入的数组是String数组.
T[] temp = (T[]) Array.newInstance(String.class, end - start + 1);
for (int i = start; i <= end; i++) {
temp[i - start] = args[i];
}
return temp;
}代码2: public static <T> T[] subArray(T[] args, int start, int end) {
T[] temp = (T[]) Array.newInstance(args[0].getClass(), end - start + 1);
for (int i = start; i <= end; i++) {
temp[i - start] = args[i];
}
return temp;
}代码3: public static <T> T[] subArray(Class<T> c,T[] args, int start, int end) {
T[] temp = (T[]) Array.newInstance(c, end - start + 1);
for (int i = start; i <= end; i++) {
temp[i - start] = args[i];
}
return temp;
}
这三段代码都是实现的一个功能,就是截数组.有个问题就是,怎么样才能在不传Class<T>的情况下保证方法正确,而我又不想用args[0].getClass()...代码1假定传入的数组是String数组.
解决方案 »
- 修改过eclipse源码的高手指点一下
- Xml中的每一个子结点是属于什么数据类型呢,我想把它的所有结点都保存下来,怎么做呢?
- 大家来分析下这个java.lang.NullPointerException到底哪里为空
- 关于一个权限判断的问题!请教!!!!!
- 高分求《java xml编程指南》书籍源码
- 请问org.iso_relax.verifier.VerifierConfigurationException;包含在哪个包中?
- 现在SPRING + HIBERNET 未来JSF + EJB3.0?
- 在Jsp中如何使用Log4j?
- jTable滚动条的问题
- Weblogic中Ejb调用的问题。
- 看一下你对return和finally的执行顺序理解是否正确
- Springside3配置项目TOMCAT报错springSecurityFilterChain
了解System.arraycopy():
http://doc.java.sun.com/DocWeb/api/java.lang.System?lang=zh_cn&mode=Read#T3