public class Solution {
public static void main(String[] args) {
print((short) 1);
print((Number) 1);
print(1);
print((Integer) 1);
print((int) 1);
}
public static void print(Integer i) {
System.out.println("Это Integer");
}
public static void print(Object i) {
System.out.println("Это Object");
}
public static void print(double i) {
System.out.println("Это double");
}
}
Приветствую. Почему в первом вызове "print((short) 1);" вызывается void print(double i) ? Разве не ближе к Integer? Благодарю.Магомед
22 уровень
Приведение в вызове метода - что к чему ближе?
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Marvell QA Automation Engineer
29 ноября 2019, 08:13
ближе к double, тк double примитив, а Integer уже обьект(обертка int) и является ссылочным типом
если интересно, можете поменять public static void print(Integer i) на public static void print(int i) или создать дополнительно метод с такой сигнатурой и проверить который метод отработает
+1