Java重载能干嘛?

1、相似逻辑,但是形参不同的函数,可以使用相同的名字,方便理解和记忆,解决起名困难症。
【示例代码】

	public static void printIntArr(int[] arr) {
		System.out.println(Arrays.toString(arr));
	}

	public static void printIntArr(double[] arr) {
		System.out.println(Arrays.toString(arr));
	}

比如上述,我们都想实现打印数组内容,但是一个是int数组类型的形参,一个是double数组类型的形参。就可以根据形参类型重载

【运行结果】

2、间接实现函数Default Value的效果
【示例代码】

package com.hhnail.util;

import java.util.Arrays;
import java.util.Random;

public class HArrayUtil {

	private static final Random random = new Random();

	/**
	 * getOrderedIntArr
	 * 获取有序 int 数组
	 */
	public static int[] getOrderedIntArr() {
		return getOrderedIntArr(10, false);
	}

	public static int[] getOrderedIntArr(int length) {
		return getOrderedIntArr(length, false);
	}

	public static int[] getOrderedIntArr(int length, boolean lower) {
		int[] orderedArr = new int[length];
		for (int i = 0; i < length; i++) {
			int maxGap = 1000;
			int randomInt = random.nextInt(maxGap);
			if (i - 1 >= 0) {
				orderedArr[i] = orderedArr[i - 1] + (lower ? (-randomInt) : randomInt);
			} else {
				orderedArr[i] = randomInt;
			}
		}
		return orderedArr;
	}
}

上述函数实现了返回随机的int数组;如果不传lower,默认升序;如果不传length,默认返回长度为10的数组。当然也可以进行各种各样的扩展。
以此实现了函数的“默认参数”的效果。
【运行结果】
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值