В задаче есть такой код:
Т.е. int без потери точности можно преобразовать к double. Однако решение принимает только с методом long. Почему?
public class Solution {
public static void main(String[] args) {
print(1);
}
public static void print(byte b) {
System.out.println("Я буду Java прогером!");
}
public static void print(double d) {
System.out.println("Я буду Java прогером!");
}
public static void print(long l) {
System.out.println("Я буду Java прогером!");
}
public static void print(float f) {
System.out.println("Я буду Java прогером!");
}
public static void print(char c) {
System.out.println("Я буду Java прогером!");
}
}
И такое условие:
Посмотри на реализации метода print() в коде и определи, какой из них будет вызван.
Удали все лишние реализации метода print().
Я так понимаю, что мы можем использовать метод с double и long. Судя по всему, нет разницы. На картинке ниже указано автоматическое преобразование примитивных типов. Все, что прямой линией без пунктира - преобразование без потери точности.
