java 返回数据的类型提升


今天写了个随机数获取的工具类,因为需要 int  和 float 两种类型的数据,所以写了两个方法,代码如下:


	/**
	 * 获取指定范围内的数据,int
	 * 
	 * @param min 最小值
	 * @param max 最大值
	 * @return
	 * @author	"BK_DeathKninght"
	 * @date	2011-7-22
	 */
	public static int getInt(int min,int max) {
		
		Random r = new Random();
		
		return (r.nextInt(max)%(max - min + 1) + min);
	}
	
	/**
	 * 获取指定范围内的数据,float
	 * 
	 * @param min 最小值
	 * @param max 最大值
	 * @return
	 * @author	"BK_DeathKninght"
	 * @date	2011-7-22
	 */
	public static float getFloat(int min,int max) {
		
		Random r = new Random();
		//min-max
		return (r.nextInt(max)%(max - min + 1) + min);
	}

很奇怪,两个方法的 函数体完全一样的!只有函数声明上的返回类型是不一样的。


写个测试函数查看两个方法的执行结果:

	public static void main(String[] args) {
		
		int index = 0;
		
		while(index++ <= 10) {
			
			System.out.println("" + index + " --> " + MyRandom.getInt(1,100));
			System.err.println("" + index + " --> " + MyRandom.getFloat(1,100));
		}
	}
	

Console:



返回的数据类型自动转变了!~~~~


原因不是很清楚,应该是两个方法在返回时根据其声明对数据进行了类型自动转变。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值