Java 将ArrayList引用传递给另一个类
我知道在Java中对象是作为引用传递的。 那么,这样做正确吗?ArrayList在父过程中创建,然后传递给另一个类中的过程以在其中创建新的元素集Java 将ArrayList引用传递给另一个类,java,reference,arraylist,Java,Reference,Arraylist,我知道在Java中对象是作为引用传递的。 那么,这样做正确吗?ArrayList在父过程中创建,然后传递给另一个类中的过程以在其中创建新的元素集 class DO_Thing { private static ArrayList<ElementClass> fr = new ArrayList<>(); public static void do_main() { fr= Functions.add_elements(fr); } } public cl
class DO_Thing {
private static ArrayList<ElementClass> fr = new ArrayList<>();
public static void do_main() {
fr= Functions.add_elements(fr);
}
}
public class Functions {
public static ArrayList<ElementClass> add_elements(ArrayList<ElementClass > frk) {
ElementClass ier;
ResultSet zuzis;
frk.clear();
zuzis = dbini.db_getallrow("frakcijas");
try {
while (zuzis.next()) {
ier = new Frakcijas();
ier.frid = zuzis.getInt("frakcijas_id");
ier.frnos = zuzis.getString("nosaukums");
frk.add(ier);
}
} catch (SQLException a) {
System.out.println(a);
}
return frk;
}
}
class做什么{
私有静态ArrayList fr=新ArrayList();
公共静态void do_main(){
fr=函数。添加元素(fr);
}
}
公共类功能{
公共静态ArrayList添加元素(ArrayList frk){
元素类;
结果祖兹组;
frk.clear();
zuzis=dbini.db_getallrow(“frakcijas”);
试一试{
while(zuzis.next()){
ier=新的Frakcijas();
ier.frid=zuzis.getInt(“frakcijas_id”);
ier.frnos=zuzis.getString(“nosaukums”);
frk.添加(ier);
}
}捕获(SQLA异常){
系统输出打印项次(a);
}
返回frk;
}
}
在功能上,是的。这是对象构造模式的变体
ielikt\u frakcijas()
方法时,无需传递空的ArrayList
,因为您只需清除它
public static ArrayList<Frakcijas> ielikt_frakcijas() {
Frakcijas ier;
ResultSet zuzis;
ArrayList<Frakcijas> result = new ArrayList<Frakcijas>();
zuzis = dbini.db_getallrow("frakcijas");
try {
while (zuzis.next()) {
ier = new Frakcijas();
ier.frid = zuzis.getInt("frakcijas_id");
ier.frnos = zuzis.getString("nosaukums");
result.add(ier);
}
} catch (SQLException a) {
System.out.println(a);
}
return result;
}
您所有的标识符都使用了错误的语言。“我知道对象在Java中是作为引用传递的”-不,传递的是引用的值,而不是引用本身。不,Java是按值传递的。对于传递到方法中的Java引用和参数,这是一个很好的答案。您正在做的很好(获取一个参数并返回结果)。是的,引用值已传递,我现在明白了。谢谢,我以前没有想到这一点。
frakcijas = Funkcijas.ielikt_frakcijas();