JAVA-如何动态地将字符串值分配给字符串数组

标签 java

在我的应用程序中,我动态地获得了字符串值。我想将这些值分配给字符串数组然后打印这些值。但它显示错误(空指针异常) 例如:

String[] content = null;
for (int s = 0; s < lst.getLength(); s++) {
    String st1 = null;
    org.w3c.dom.Node nd = lst.item(s);
    if (nd.getNodeType() == org.w3c.dom.Node.ELEMENT_NODE) {
        NamedNodeMap nnm = nd.getAttributes();

        for (int i = 0; i < 1; i++) {
            st1 = ((org.w3c.dom.Node) nnm.item(i)).getNodeValue().toString();
        }
    }

    content[s] = st1;
    //HERE it shows null pointer Exception.
}  

谢谢

最佳答案

这是因为您的字符串数组为空。 String[] content=null;

您将数组声明为 null,然后尝试在其中赋值,这就是它显示 NPE 的原因。

您可以尝试为字符串数组提供初始大小或更好地使用 ArrayList<String> . 即:

String[] content = new String[10]; //--- You must know the size or array out of bound will be thrown.

如果你像这样使用 arrayList 会更好

List<String> content = new ArrayList<String>(); //-- no need worry about size.

对于列表使用 add(value)在列表中添加新值并使用 foreach 的方法循环打印列表的内容。

关于JAVA-如何动态地将字符串值分配给字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6054261/

相关文章:

java - JPA:处理 OptimisticLockException 的模式

java - JAVA EE应用程序中导出大量数据

java - 如何在java中转换为CRTP?

java - 选定的单选按钮未显示?

java - 如何将 JSONObject 写入 firebase 数据库节点

java - 在语言转换 java swing 应用程序中处理字符宽度

java - 如何创建具有继承模块和聚合模块的 Maven 原型(prototype)?

java - 使用 while 循环从文件中读取

java - Jersey 2.x 向 ClientConfig 添加多个 header

java - 如何确保数组中包含值?