gpt4 book ai didi

java - 如何访问另一个java包中的静态数组列表

转载 作者:行者123 更新时间:2023-12-02 11:55:32 25 4
gpt4 key购买 nike

我正在从事 JAVA Maven 项目。我有一节课

package com.fist.program;

import java.util.ArrayList;
import java.util.Arrays;


public class BundleVersionManagement {

public static ArrayList<String> BundleVer = new ArrayList<String>();
public static ArrayList<String> BundleName= new ArrayList<String>();

public BundleVersionManagement(){

}

public void SetBundleVersion(String BundleVersion) {
if(BundleVer.contains(BundleVersion)==false){
BundleVer.add(BundleVersion);
}
}

public void SetBundleName(String Bndnm) {
if(BundleName.contains(Bndnm)==false){
BundleName.add(Bndnm);
}
}

public void DisplayArr(){
System.out.println("common program ::: BundleVersionManagement::: bundle versions :");
System.out.println(Arrays.toString(BundleVer.toArray()));
System.out.println("common program ::: BundleVersionManagement::: bundle name :");
System.out.println(Arrays.toString(BundleName.toArray()));
}
}

在类里面它工作正常。我想在另一个包类中使用上面的静态数组列表。

package com.first.secondProgram;

import com.fist.program.BundleVersionManagement;

public abstract class Handler<T> {

static{

BundleVersionManagement hbm = new BundleVersionManagement();
NameFromxml= hbm.BundleName;
System.out.println("common handler ::: Print array list:");
hbm.DisplayArr();
}
}

问题是 BundleVersionManagement 类按照日志成功添加数组列表:

[1.123, 2.057, 3.018, 4.012, 5.018, 6.011, 7.119]

但是当我在另一个包的 Hanlder 类中打印相同的数组列表时,它显示空白:

common handler ::: Print array list: common util :::
BundleVersionManagement::: bundle versions : [] common util :::
BundleVersionManagement::: bundle name : []

你能帮我如何访问另一个包的数组列表字符串吗?

最佳答案

您对 arraylist 的访问本身没有任何问题 - 在第二种情况下,您只是尚未向其中添加任何项目。

静态 block 将在任何实例方法运行之前运行,因此您可能会在此之后添加项目。如果您在添加项目后调用 DisplayArr 方法,它将起作用。

关于java - 如何访问另一个java包中的静态数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47629266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com