直接传递数组
public void processArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
int[] myArray = {1, 2, 3};
processArray(myArray);
使用可变参数 (varargs):public void processVarargs(int... array) {
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
processVarargs(1, 2, 3);
使用泛型
public void processVarargs(int... array) {
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
processVarargs(1, 2, 3);
```java
public
for (T element : array) {
System.out.println(element);
}
}
String[] stringArray = {"Hello", "World"};
processGenericArray(stringArray);
```
使用反射
```java
public void processArrayByReflection(Object array) {
Class<?> arrayClass = array.getClass();
if (arrayClass.isArray()) {
int length = Array.getLength(array);
for (int i = 0; i < length; i++) {
System.out.println(Array.get(array, i));
}
}
}
int[] intArray = {1, 2, 3};
processArrayByReflection(intArray);
```
使用Java.lang.reflect.Array类
```java
public void processArrayWithArrayClass(Object array) {
Class<?> arrayClass = array.getClass();
if (arrayClass.isArray()) {
int length = Array.getLength(array);
for (int i = 0; i < length; i++) {
System.out.println(Array.get(array, i));
}
}
}
int[] intArray = {1, 2, 3};
processArrayWithArrayClass(intArray);
```
通过请求参数(例如在Web应用中):
@PostMapping("/processArray")
public void processArrayFromRequest(@RequestParam("array") int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
通过JSON(例如在Web应用中,使用第三方库如Jackson):
@PostMapping("/processArray")
public void processArrayFromJson(@RequestBody int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
以上方法展示了如何在Java中通过不同的方式接收数组作为方法参数。选择哪种方式取决于具体的应用场景和需求