why doesn't switch work?
package en.codegym.task.pro.task12.task1220;
import java.util.ArrayList;
/*
Chasing after types
*/
public class Solution {
public static void main(String[] args) {
var elements = new ArrayList<>();
elements.add("Hello");
elements.add(10);
elements.add(new Integer[15]);
elements.add(new LinkageError());
checkElementsType(elements);
}
public static void checkElementsType(ArrayList<Object> elements) {
//write your code here
Solution x = new Solution();
for(int i =0; i< elements.size();i++){
var x = elements.get(i);
var c = x.getClass();
switch(c.getSimpleName()){
case "String": x.printString(); break;
case "Integer": x.printInteger();break;
case "ArrayList" : x.printIntegerArray();break;
default: x.printUnknown();
}
}
public static void printString() {
System.out.println("String");
}
public static void printInteger() {
System.out.println("Integer");
}
public static void printIntegerArray() {
System.out.println("Array of integers");
}
public static void printUnknown() {
System.out.println("Other data type");
}
}
Solution.java:38: error: illegal start of expression
public static void printString() {
^
package en.codegym.task.pro.task12.task1220;
import java.util.ArrayList;
/*
Chasing after types
*/
public class Solution {
public static void main(String[] args) {
var elements = new ArrayList<>();
elements.add("Hello");
elements.add(10);
elements.add(new Integer[15]);
elements.add(new LinkageError());
checkElementsType(elements);
}
public static void checkElementsType(ArrayList<Object> elements) {
//write your code here
for(int i =0; i< elements.size();i++){
var x = elements.get(i);
switch(x){
case (x instanceOf String): printString(); break;
case Integer: printInteger();break;
case ArrayList : printIntegerArray();break;
default: printUnknown();
}
}
}
public static void printString() {
System.out.println("String");
}
public static void printInteger() {
System.out.println("Integer");
}
public static void printIntegerArray() {
System.out.println("Array of integers");
}
public static void printUnknown() {
System.out.println("Other data type");
}
}