public class Main {
static void test(int i){}
static void test(Integer...i){}
public static void main( String[] args ) {
test((Integer)null);
}
}
аплодирую стоя
От:
kov_serg
Дата: 14.04.21 11:07
Оценка:
Здравствуйте, Cheblin2, Вы писали:
C>C>public class Main {
C> static void test(int i){}
C> static void test(Integer...i){}
C> public static void main( String[] args ) {
C> test((Integer)null);
C> }
C>}
C>
C>аплодирую стоя
Добавь костыль
static void test(Integer i) {}
От:
halo
Дата: 14.04.21 14:36
Оценка:
Здравствуйте, Cheblin2, Вы писали:
public final class Main {
private Main() {
}
private static void test(final Integer i) {
System.out.println(i);
}
private static void test(final int ... is) {
System.out.println(Arrays.toString(is));
}
public static void main(final String... args) {
test(/*(int) */ 0);
}
}
https://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.12.2
От:
·
Дата: 14.04.21 15:02
Оценка:
+3
Здравствуйте, Cheblin2, Вы писали:
C> static void test(Integer...i){}
Надо просто запомнить, что это просто синтаксический сахар для
void test(Integer[] i) и тогда да, логичненько.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
·>Надо просто запомнить, что это просто синтаксический сахар для void test(Integer[] i) и тогда да, логичненько.
в том то и дело что
нет !
static void foo(byte ... values) {}
public static void main(String[] args) throws Exception {
foo(1, 2, 3, 4);
foo(new byte []{1, 2, 3, 4});
}
именно об этом я и говорю.
а в .NET, кстати, сделано по уму.
От:
·
Дата: 21.05.21 07:39
Оценка:
Здравствуйте, Cheblin2, Вы писали:
C>·>Надо просто запомнить, что это просто синтаксический сахар для void test(Integer[] i) и тогда да, логичненько.
C>в том то и дело что нет !
Именно так и есть.
C>static void foo(byte... values) {}
Это вообще не в тему
Попробуй так:
static void foo(byte value) {}
public static void main(String[] args) throws Exception {
foo(1);
}
1 — это не байт. А
new byte[]{1} или
(byte)1 — инициализация байтов.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
·>Надо просто запомнить, что это просто синтаксический сахар для void test(Integer[] i)
это не соответствует действительности. что я и показал.
От:
·
Дата: 21.05.21 12:04
Оценка:
Здравствуйте, Cheblin2, Вы писали:
C>·>Надо просто запомнить, что это просто синтаксический сахар для void test(Integer[] i)
C>это не соответствует действительности. что я и показал.
Ты запутался в трёх соснах. В последнем примере была проблема конверсии int->byte и никакого отношения к vararg не имеет.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить