OnJava8-Examples/generics/PrimitiveGenericTest.java

47 lines
1.3 KiB
Java
Raw Normal View History

2015-09-07 11:44:36 -06:00
// generics/PrimitiveGenericTest.java
2015-12-15 11:47:04 -08:00
// (c)2016 MindView LLC: see Copyright.txt
2015-11-15 15:51:35 -08:00
// We make no guarantees that this code is fit for any purpose.
// Visit http://mindviewinc.com/Books/OnJava/ for more book information.
import onjava.*;
2016-01-25 18:05:55 -08:00
import java.util.*;
2015-11-03 12:00:44 -08:00
import java.util.function.*;
2015-06-15 17:47:35 -07:00
// Fill an array using a generator:
2016-01-25 18:05:55 -08:00
interface FillArray {
static <T> T[] fill(T[] a, Supplier<T> gen) {
2015-06-15 17:47:35 -07:00
for(int i = 0; i < a.length; i++)
2015-11-03 12:00:44 -08:00
a[i] = gen.get();
2015-06-15 17:47:35 -07:00
return a;
}
2016-01-25 18:05:55 -08:00
static int[] fill(int[] a, IntSupplier gen) {
for(int i = 0; i < a.length; i++)
a[i] = gen.getAsInt();
return a;
}
static long[] fill(long[] a, LongSupplier gen) {
for(int i = 0; i < a.length; i++)
a[i] = gen.getAsLong();
return a;
}
static double[] fill(double[] a, DoubleSupplier gen) {
for(int i = 0; i < a.length; i++)
a[i] = gen.getAsDouble();
return a;
}
2015-06-15 17:47:35 -07:00
}
public class PrimitiveGenericTest {
public static void main(String[] args) {
2016-01-25 18:05:55 -08:00
String[] strings = FillArray.fill(
new String[5], new Rand.String(9));
System.out.println(Arrays.toString(strings));
int[] integers = FillArray.fill(
new int[9], new Rand.int_());
System.out.println(Arrays.toString(integers));
2015-06-15 17:47:35 -07:00
}
2015-09-07 11:44:36 -06:00
}
/* Output:
2016-01-25 18:05:55 -08:00
[YNzbrnyGc, FOWZnTcQr, GseGZMmJM, RoEsuEcUO, neOEdLsmw]
[8689, 7185, 6992, 5746, 3976, 2447, 5368, 1854, 1395]
2015-09-07 11:44:36 -06:00
*/