Java Generics Hacker Rank Solution

Hello coders, In this post, you will learn how to solve Java Generics Hacker Rank Solution. This problem is a part of the Java programming series. 

One more thing to add, don’t straight away look for the solutions, first try to solve the problems by yourself. If you find any difficulty after trying several times, then look for the solutions.

Java Generics Hacker Rank Solution
Java Generics Hacker Rank Solution

Java Generics Hacker Rank Solution

Problem

Generic methods are a very efficient way to handle multiple datatypes using a single method. This problem will test your knowledge on Java Generic methods.

Let’s say you have an integer array and a string array. You have to write a single method printArray that can print all the elements of both arrays. The method should be able to accept both integer arrays or string arrays.

You are given code in the editor. Complete the code so that it prints the following lines:

1
2
3
Hello
World

Do not use method overloading because your answer will not be accepted.

Java Generics Hacker Rank Solution

import java.lang.reflect.Method;
class Printer {
	<T> void printArray(T[] array) {
		for (T element : array) {
			System.out.println(element);
		}
	}
}
public class Solution {
	public static void main(String args[]) {
		Printer myPrinter = new Printer();
		Integer[] intArray = { 1, 2, 3 };
		String[] stringArray = { "Hello", "World" };
		myPrinter.printArray(intArray);
		myPrinter.printArray(stringArray);
		int count = 0;
		for (Method method : Printer.class.getDeclaredMethods()) {
			String name = method.getName();
			if (name.equals("printArray"))
				count++;
		}
		if (count > 1)
			System.out.println("Method overloading is not allowed!");
		assert count == 1;
	}
}

Disclaimer: The above Problem (Java Generics) is generated by Hackerrank but the Solution is Provided by Chase2Learn. This tutorial is only for Educational and Learning purposes. Authority if any of the queries regarding this post or website fill the following contact form thank you.

Sharing Is Caring

Leave a Comment