Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 首次访问静态arraylist_Java_Arraylist - Fatal编程技术网

Java 首次访问静态arraylist

Java 首次访问静态arraylist,java,arraylist,Java,Arraylist,我有一个静态数组列表: public class Global { public static ArrayList<Player> Round; } 它会使应用程序崩溃。我很有信心lPlayer是正确成型的。这一行是在添加新玩家时调用的,所以我不知道这是否是我第一次调用.add,但这不重要,对吗 错误是“InvocationTargetException.(Throwable)行:50” 有什么问题吗 谢谢。您必须像下面这样初始化圆形对象。否则会得到NUllPoin

我有一个静态数组列表:

    public class Global {
    public static ArrayList<Player> Round;
}
它会使应用程序崩溃。我很有信心lPlayer是正确成型的。这一行是在添加新玩家时调用的,所以我不知道这是否是我第一次调用.add,但这不重要,对吗

错误是“InvocationTargetException.(Throwable)行:50”

有什么问题吗


谢谢。

您必须像下面这样初始化圆形对象。否则会得到NUllPointerException

public class Global {
    public static ArrayList<Player> Round = new ArrayList<>();
}
公共类全局{
public static ArrayList Round=new ArrayList();
}

您必须像下面这样初始化圆形对象。否则会得到NUllPointerException

public class Global {
    public static ArrayList<Player> Round = new ArrayList<>();
}
公共类全局{
public static ArrayList Round=new ArrayList();
}

阅读异常堆栈跟踪的其余部分,您可能会发现异常的原因是NullPointerException


ArrayList在实例化之前并不存在,就像任何对象一样。无论它是静态的还是非静态的,都不会改变任何东西。

阅读异常堆栈跟踪的其余部分,您可能会发现异常的原因是NullPointerException

ArrayList在实例化之前并不存在,就像任何对象一样。不管它是静态的还是非静态的,都不会改变任何东西。

你是说:

不实例化静态数组

你在哪里找到的

您需要实例化一个实例字段,它是
静态的
非静态的
。它们之间唯一的区别是:
静态
字段与
相关联,而不是与任何
对象
相关联。
class
的每个实例都共享一个
class
变量,该变量位于内存中的一个固定位置

您尚未初始化
数组列表循环
。因此,创建它:

public static ArrayList<Player> Round = new ArrayList<>();
publicstaticarraylistround=newarraylist();
您的意思是:

不实例化静态数组

你在哪里找到的

您需要实例化一个实例字段,它是
静态的
非静态的
。它们之间唯一的区别是:
静态
字段与
相关联,而不是与任何
对象
相关联。
class
的每个实例都共享一个
class
变量,该变量位于内存中的一个固定位置

您尚未初始化
数组列表循环
。因此,创建它:

public static ArrayList<Player> Round = new ArrayList<>();
publicstaticarraylistround=newarraylist();

您是否在全局中初始化了轮?如果您看起来稍微好一点,实际错误可能是由于未初始化静态字段而导致的
NullPointerException
。您是否在全局中初始化了轮?如果您看起来稍微好一点,实际错误可能是
NullPointerException
,这是由于没有初始化静态字段引起的。另外,这里还有一个大警告:这段代码不是线程安全的!您正在访问非线程安全结构(
ArrayList
),而不进行同步。如果另一个线程出现并读取或写入
Global.Round
列表,事情可能会以微妙、难以调试的方式出现。此外,这里还有一个大警告:此代码不是线程安全的!您正在访问非线程安全结构(
ArrayList
),而不进行同步。如果另一个线程出现并读取或写入
Global.Round
列表,事情可能会以微妙的、难以调试的方式破裂。这可能是我梦寐以求的。这对我来说毫无意义,所以我很高兴听到我错了。我放置了一个
publicstaticarraylistround=newarraylist()在全局类def和I gt中,警告ArrayList是原始类型。对泛型类型ArrayList的引用应参数化。这可以吗?@ddk,泛型集合类(如
ArrayList
here)类型应该使用我们希望集合包含其元素的类类型参数化。因此,在创建它时,我们编写
newarraylist()
,这是合适的。但是从java 7中,只有一个菱形操作符:
就足够了,这就是
新的ArrayList()
@ddk,作为一个新用户,欢迎使用stack overflow。要使用此站点,请检查热备份。谢谢你,塞奇,谢谢你的欢迎。我用错网站了吗?@ddk,不,不,我不是这个意思。我是说,还有其他答案,包括我的。读它们。你应该通过点击勾号来接受答案,勾号最能满足你的问题。答案完全由你选择:)我可能是在做梦。这对我来说毫无意义,所以我很高兴听到我错了。我放置了一个
publicstaticarraylistround=newarraylist()在全局类def和I gt中,警告ArrayList是原始类型。对泛型类型ArrayList的引用应参数化。这可以吗?@ddk,泛型集合类(如
ArrayList
here)类型应该使用我们希望集合包含其元素的类类型参数化。因此,在创建它时,我们编写
newarraylist()
,这是合适的。但是从java 7中,只有一个菱形操作符:
就足够了,这就是
新的ArrayList()
@ddk,作为一个新用户,欢迎使用stack overflow。要使用此站点,请检查热备份。谢谢你,塞奇,谢谢你的欢迎。我用错网站了吗?@ddk,不,不,我不是这个意思。我是说,还有其他答案,包括我的。读它们。你应该通过点击勾号来接受答案,勾号最能满足你的问题。答案完全由您选择:)