导航:首页 > 编程语言 > java类数组初始化

java类数组初始化

发布时间:2022-04-26 15:03:54

java数组初始化

第一题选B,第二题选A、B和D;
java初始化数组的几种方法:
int a[]; //声明未初始化
a = new int [10]; // 定义占用空间大小(10个int)
int a[] = new int [10]; //声明并定义大小(即分配了指定大小的空间)
int a[] = {1,2,3}; // 声明并初始化,占用空间大小是3个int。

② 在java中,什么叫数组的初始化

数组和对象其实是一样的,分别有引用和物理地址,引用你可以看成指针,当你new Object()表示开辟一个物理地址存储对象的真实数据,Object obj相当于你在内存中开辟一个物理地址存储引用(指针),引用本身没有数据,但是通过Object obj = new Object()相当于把引用和对象数据做了关联,调用引用就等于调用数据的物理地址。new Object()表示数据初始化,Object obj表示引用初始化。
慢慢理解,祝你好运。

③ JAVA怎么初始化泛型数组

首先由于Java泛型的实现,不可以使用如下的代码:

public class GenSet<E> {
private E a[];

public GenSet() {
a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation
}
}

那么我们如何在保持类型安全的同时实现这一点?

我在Java论坛上看到了这样的解决方案:

import java.lang.reflect.Array;

class Stack<T> {
public Stack(Class<T> clazz, int capacity) {
array = (T[])Array.newInstance(clazz, capacity);
}

private final T[] array;
}

在这里,我们需要讨论"checked" and "unchecked"。

Checked:strong typing。GenSet明确知道它包含的对象类型(即它的构造函数是使用Class <E>参数显式调用的,当方法传递非类型E的参数时,方法将抛出异常。请参阅Collections.checkedCollection。

在这种情况,我们需要这样写:

public class GenSet<E> {

private E[] a;

public GenSet(Class<E> c, int s) {
// Use Array native method to create array
// of a type only known at run time
@SuppressWarnings("unchecked")
final E[] a = (E[]) Array.newInstance(c, s);
this.a = a;
}

E get(int i) {
return a[i];
}
}



Unchecked: weak typing。实际上没有对作为参数传递的任何对象进行类型检查。

在这种情况,我们需要这样写:

public class GenSet<E> {

private Object[] a;

public GenSet(int s) {
a = new Object[s];
}

E get(int i) {
@SuppressWarnings("unchecked")
final E e = (E) a[i];
return e;
}
}

请注意,数组的组件类型应该是类型参数的擦除:

public class GenSet<E extends Foo> { // E has an upper bound of Foo

private Foo[] a; // E erases to Foo, so use Foo[]

public GenSet(int s) {
a = new Foo[s];
}

...
}

所有的这些都源于Java中泛型一个的特性但也是一个weakness:它是使用擦除实现的,因此除非实施一些显式机制(type-checking),否则“泛型”类不知道它们在运行时创建的类型参数,故无法提供 type-safety。

④ JAVA中怎么初始化对象数组

初始化数组有三种方式,以下都是去初始化一个String类型长度2的数组:

方式一:

String[]strs=newString[2];
strs[0]="0";
strs[1]="1";

方式二:

String[]strs=newString[]{"0","1"};

方式三:

String[]strs={"0","1"};

三种方式,都有自己的使用场景,在合适场景使用即可。

⑤ java数组类初始化如何赋值

Comparable[] s={new Comparable(3),new Comparable(20),new Comparable(13)};
估计也只能这样子了.这么写不能直接指定数组的长度.
数据特别多的话,最好是把你的数据用个int数组包装起来,再写个循环.

⑥ java数组的初始化

一维数组

1)
int[] a; //声明,没有初始化

2)
int[] a=new int[5]; //初始化为默认值,int型为0

3)
int[] a={1,2,3,4,5};
//初始化为给定值
4)
int[] a=new int[]{1,2,3,4,5}; //同(3)

int[] a=new int[5]{1,2,3,4,5};
//错误,如果提供了数组初始化操作,则不能定义维表达式
5)
int[] a;
a=new int[5]; //正确,同(2)一样

int[] a;

a={1,2,3,4,5}; //错误数组常量只能在初始化操作中使用,如(3)

6) int a[];
a[0]=1;
//错误,因为数组没有初始化,不能赋值a[1]=2; 二维数组

1)
int[][] a;
//声明,没有初始化

2) int[][] a=new int[2][3];
//初始化为默认值,int型为0

3)
int[][] a={{1,2},{2,3},{3,4}};
//初始化为给定值
int[][] a={{1,2},{2,3},{3,4,5}};
//没有错,数组空间不是连续分配的,所以不要求每一维的大小相同
4)
int[][] a=new int[2][];
a[0]=new int[3];
//a[0]其实就是一个数组a[1]=new int[4];
//每一维的大小可以不一样
;

5)
int[][] a=new
int[][]{{1,2},{2,3},{3,4,5}};
//同(3)

⑦ Java数组创建和初始化

有什么问题?
创建数组
String[]
a
=
new
String[3];
String[]
a
=
new
String[]{"a","b"};
就是象定义变量那个..只是在类形后面加个[]初始化
第一种.写法.如果是数值形.默认值是0;如果是字符串.或者对象类型就是NULL;
第二种.写法.创建时直接初始化.
要注意..第一种写法的3就是数据长度那里.如果你没有给数组元素赋值的化必须有.如果象第二种.有赋值的话就可以把3省掉.

阅读全文

与java类数组初始化相关的资料

热点内容
解压包如何转音频 浏览:447
机明自动编程软件源码 浏览:325
php端口号设置 浏览:540
phperegreplace 浏览:320
androidgridview翻页 浏览:537
ssh协议编程 浏览:634
如何开我的世界电脑服务器地址 浏览:861
玄关pdf 浏览:609
程序员学习论坛 浏览:940
程序员的毒鸡汤怎么做 浏览:548
安卓怎么降级软件到手机 浏览:281
云与服务器入门书籍推荐产品 浏览:636
delphi编程助手 浏览:762
电脑遇到服务器问题怎么办 浏览:515
加工中心编程结束方法 浏览:296
了解什么是web服务器 浏览:140
面向对象的编程的基本特征 浏览:718
php定时执行任务linux 浏览:787
php数组中删除元素 浏览:725
萤石云服务器视频 浏览:270