2017-01-20 2 views
0

поэтому в этом коде, как в сообщениях, указывается, что возникают два запутанных случая. Вставляя generics перед именем конструктора и после того, как он дает разные результаты.Генерирующий конструктор вызывает ошибки?

class moke<T> { 
    T ob; 
    moke(T ob){ 
     this.ob=ob; 
    } 
    T ret(){ 
     return ob; 
     } 
    } 
    class ramirez{ 
     public static void main(String args[]){ 
     moke<Integer> one= new moke<Integer>(9);// it's ok 
     moke<String> two=new moke<Integer>("ASDASD"); // error appears here which is ok 
     moke<String> three= new <Integer>moke("knmkm"); //no error here WHY?? 
     moke<String> four=new <String>moke(9); //No error hereWHY?? 


    }} 

так, что разница между <Type>constructor() и constructor<Type>()

+1

Возможный дубликат [Синтаксис для создания двумерного массива] (http://stackoverflow.com/questions/12231453/syntax-for-creating-a-two-dmensional-array) – luk2302

+1

Один вопрос за сообщение пожалуйста (например, для того, чтобы закрыть его как дубликат и ответить на второй или даже закрыть оба отдельно) – luk2302

+0

Возможный дубликат [Почему компиляция явных аргументов типа для обобщенного метода или конструктора?] (http://stackoverflow.com/вопросы/22174022/почему-делает-давая-явные для типа аргументы к-а-необщего-метода или-конструктор-с) – Calculator

ответ

0

Ответом на первый вопрос:

// here {1,2,3} is an array initializer you may use to define the array 
int[] arr = {1,2,3}; 

// this does not work, because this is an assignment expression and not a definition of the array 
arr = {1,2,3}; 

Чтобы сделать это более ясным, только представьте arr массив с (возможно, отличающимся) размером определяется во время выполнения. Как это задание будет работать?

Для второго вопроса у меня пока нет ответа. Выглядит странно. Но создайте новое сообщение для каждого вопроса в stackoverflow.

Смежные вопросы