Java数组对象返回数组的类型而不是数组
在寻求帮助之前,如果这是一个重复的问题或糟糕的问题,我真的很抱歉,因为我不知道搜索什么 在java中使用数组时,有一件事困扰着我。 以下是代码:Java数组对象返回数组的类型而不是数组,java,arrays,nullpointerexception,primitive,Java,Arrays,Nullpointerexception,Primitive,在寻求帮助之前,如果这是一个重复的问题或糟糕的问题,我真的很抱歉,因为我不知道搜索什么 在java中使用数组时,有一件事困扰着我。 以下是代码: String []stt = new String[5]; stt[0].length(); //of course NullPointerException because uninitialized. System.out.println(stt.getClass()); //it should return class of array ins
String []stt = new String[5];
stt[0].length(); //of course NullPointerException because uninitialized.
System.out.println(stt.getClass()); //it should return class of array instead of String.
根据上面的代码,到目前为止还没有创建字符串对象,stt应该是数组类型而不是字符串类型,实际上stt中的元素应该是字符串类型
我想知道什么是数组对象类,它应该返回数组对象类。引用所指向的类是字符串数组。如果您想测试该引用是否是数组的一部分,那么有一种特殊的方法,isArray 正如其他一些人所指出的,通过仔细观察,您可以看到仅使用
class [Ljava.lang.String; // Array of String
class java.lang.String // String
引用所指向的类是字符串数组。如果您想测试该引用是否是数组的一部分,那么有一种特殊的方法,isArray 正如其他一些人所指出的,通过仔细观察,您可以看到仅使用
class [Ljava.lang.String; // Array of String
class java.lang.String // String
运行此代码:
String []stt = new String[5];
System.out.println(stt.getClass());
印刷品
类[Ljava.lang.String;
^^
开头的[L]表示数组,其余的显然是字符串。合在一起:字符串数组。运行以下代码:
String []stt = new String[5];
System.out.println(stt.getClass());
印刷品
类[Ljava.lang.String;
^^
[L在开始时表示数组,其余的显然是字符串。合在一起:字符串数组。Java中的数组不是单独的类型。因此字符串数组的类仍然是字符串。该类只是处理数组的静态方法的集合,您无法创建它的实例。正如其他答案中指出的,您可以使用isA从类中选择array方法来确定对象是否为数组。Java中的数组不是单独的类型。因此字符串数组的类仍然是字符串。该类只是处理数组的静态方法的集合,您无法创建它的实例。正如在其他答案中指出的,您可以使用Cl中的isArray方法ass确定对象是否为数组。或者,您可以使用instanceof:
或者,您可以使用instanceof: 语句System.out.println stt.getClass;实际上返回一个数组。如果您仔细观察,则输出为class[Ljava.lang.String;而不是class java.lang.String.[表示数组的表示形式] 要检查输出是否为数组,可以尝试返回布尔值的stament stt.getClass.isArray。语句System.out.println stt.getClass;实际上返回一个数组。如果仔细观察,输出为类[Ljava.lang.String;但不是类java.lang.String.[表示数组的表示形式]
要检查输出是否为数组,您可以尝试返回布尔值的stament stt.getClass.isArray。这个问题的答案中的解释很好:这个问题的答案中的解释很好:String类为什么与数组关联???我们可以创建任何类的对象的数组,它们是如何关联的与java.lang.reflect.Array关联。看起来所有类也像Object一样继承Array。为什么String类与Array关联???我们可以创建任何类的对象的数组,它们都是如何与java.lang.reflect.Array关联的。看起来所有类也像Object一样继承Array。糟糕的编码,为什么不使用?re将o instanceof String[]设置为错误编码,为什么不使用?返回o instanceof String[]