Perguntas com a marcação «generics»

127
Genéricos Java T vs Object

Eu queria saber qual é a diferença entre as duas declarações de método a seguir: public Object doSomething(Object obj) {....} public <T> T doSomething(T t) {....} Existe algo que você pode / faria com um, mas não com o outro? Não encontrei essa pergunta em nenhum outro lugar deste...

126
Por que não existem genéricos no Go?

Isenção de responsabilidade: só joguei no Go por um dia agora, então há uma boa chance de eu ter perdido muito. Alguém sabe por que não há suporte real para genéricos / modelos / whatsInAName no Go? Portanto, existe um genérico map, mas é fornecido pelo compilador, enquanto um programador Go não...

125
Protocolo não se conforma a si mesmo?

Por que esse código Swift não é compilado? protocol P { } struct S: P { } let arr:[P] = [ S() ] extension Array where Element : P { func test<T>() -> [T] { return [] } } let result : [S] = arr.test() O compilador diz: "O tipo Pnão está em conformidade com o protocolo P" (ou, em...

124
Como faço para implementar IEnumerable <T>

Eu sei como implementar o IEnumerable não genérico, assim: using System; using System.Collections; namespace ConsoleApplication33 { class Program { static void Main(string[] args) { MyObjects myObjects = new MyObjects(); myObjects[0] = new MyObject() { Foo = "Hello", Bar = 1 };...

122
Quando usar métodos genéricos e quando usar curinga?

Estou lendo sobre métodos genéricos do OracleDocGenericMethod . Estou bastante confuso sobre a comparação quando diz quando usar curingas e quando usar métodos genéricos. Citando do documento. interface Collection<E> { public boolean containsAll(Collection<?> c); public boolean...

113
retornando um objeto vazio

Qual é a maneira correta de retornar um Voidtipo, quando não é um primitivo? Por exemplo. Atualmente, uso null como abaixo. interface B<E>{ E method(); } class A implements B<Void>{ public Void method(){ // do something return null;