如何创建初始化数组(如何创建,初始化匿名数组)
本文目录
如何创建,初始化匿名数组
在Java中,匿名数组是一个没有名字的数组,就像匿名内部类一样。使用匿名数组的策略仅仅就是创建、初始化、应用,因为它没有任何名字因此你没法重用它。匿名数组在Java5可变参数出现之前是实现方法的可变参数的一种很好方式,使用匿名数组你可以任意地创建任何长度的数组传递给方法。一些典型的例子就是用在一些接收可变参数的聚合函数中如:sum()、avg()、min()、max()等等。在这篇教程中我们讲解一些如何创建匿名数组,如何初始化这些数组作为可变参数传递给方法。
如何创建数组
匿名数组与普通的数组的语法是一样的,如:`new { }`,不同的是创建完数组后不会存储在任何一个变量身上,这里是几个例子:
1
2
3
anonymous int array : new int { 1, 2, 3, 4};
anonymous String array : new String {"one", "two", "three"};
anonymous char array : new char {’a’, ’b’, ’c’);
正如你见到的一样,创建和初始化匿名数组在同一时间内完成。当你使用new()创建的时候与此同时在同一行初始化了它们。因为它没有名字,所以没法在其他任何方法再去初始化它们。
使用匿名数组最佳方式就是实现可变参数的方法中,它能够调用不同数量的参数,这些方法预期接收的是一个数组类型,当代码调用这个方法,它创建一个匿名的不同长度的数组然后传递给方法处理,这里是完整的例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class AnnonymousArrayExample {
public static void main(String args) {
//calling method with anonymous array argument
System.out.println("first total of numbers: " + sum(new int{ 1, 2,3,4}));
System.out.println("second total of numbers: " + sum(new int{ 1, 2,3,4,5,6,}));
}
//method which takes an array as argument
public static int sum(int numbers){
int total = 0;
for(int i: numbers){
total = total + i;
}
return total;
}
}
同样的方法sum()可以通过java1.5引入的新特性可变参数 `public static int sum(int… numbers)`来实现,但是你不可以在一个类中同时有`sum(int numbers)`方法和 `sum(int… numbers)`,如果那样的话,会报 `throw compilation error`,因为后者内部使用的就是匿名数组传递给可变参数列表。
如何创建指向字符串变量的指针数组及初始化
1、在运行命令中输入”char *str={"Hello","C++","World"}“。
2、按照步骤运行命令:#include 《stdio.h》,#include 《string.h》,void main()
{char *str = {"Hello", "C++", "World"}。char **p;for(p=str; p《str+3; p++)puts(*p); }
指针数组是指在C语言和C++语言中,数组元素全为指针的数组。
指针数组可以作为函数的参量使用,使用方式与普通数组类似。
指针数组常适用于指向若干字符串,这样使字符串处理更加灵活方便。
更多文章:
activiti工作流状态(工作流activity流程图 红色线条有什么意义)
2026年4月3日 21:00
argumentexception什么意思(unity3d里ArgumentException是什么意思呀)
2026年4月3日 20:20
androidapi开发文档(android studio怎么生成api文档)
2026年4月3日 20:00
stackoverflow异常(电脑出现 “stack overflow at line 1” 如何解决求解)
2026年4月3日 19:20
recordset属性(vb中 recordset如何使用和理解)
2026年4月3日 19:00
bochs上面运行电脑时显示的no boot table device是什么意思?bochs配置文件在哪下载
2026年4月3日 18:40
sql for循环语句(如何写**L循环语句,更新多个表.)
2026年4月3日 18:20





