2015-08-11 8 views
1

Я пытаюсь отправить один тест ping на Flickr, используя flickrj. Я следую шаг за шагом учебник здесьКак отправить простой тест ping на Flickr с Flickrj api

https://github.com/callmeal/Flickr4Java

импортируются все зависимости Maven и все и в конечном итоге с помощью следующего кода:

import java.util.Collections; 

import com.flickr4java.flickr.Flickr; 
import com.flickr4java.flickr.REST; 
import com.flickr4java.flickr.collections.Collection; 

import com.flickr4java.flickr.test.TestInterface; 

public class hello { 
    public static void main(String args[]){ 


    String apiKey = "3f7046fe0897516df587cc3e6226f878"; 
    String sharedSecret = "9d0ceef5f2f3040f"; 
    Flickr f = new Flickr(apiKey, sharedSecret, new REST()); 
    TestInterface testInterface = f.getTestInterface(); 
    Collection results = testInterface.echo(Collections.EMPTY_MAP); 

    } 
} 

Я получаю следующее сообщение об ошибке, хотя:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    Type mismatch: cannot convert from Collection<Element> to Collection 

    at hello.main(hello.java:18) 

Что я делаю неправильно?

+0

Пробовали ли вы Collection результаты = testInterface.echo (Collections.EMPTY_MAP) ;? –

+0

@ ZaidMalhis Да, я забыл упомянуть, что я пробовал это, и я получил следующее: Тип Collection не является общим; он не может быть параметризован аргументами Bombastrelopas

ответ

0

Вы могли бы иметь конфликт импорта, вы используете com.flickr4java. flickr.collections.Collection, пока вы, скорее всего, - как метод echo возвращаете тип состояния - хотите использовать класс java.util.Collection. заменить линию:

java.util.Collection<Element> results = testInterface.echo(Collections.EMPTY_MAP); 

Ваш код:

import java.util.Collections; 

import com.flickr4java.flickr.Flickr; 
import com.flickr4java.flickr.REST; 
import com.flickr4java.flickr.collections.Collection; 

import com.flickr4java.flickr.test.TestInterface; 

public class hello { 
    public static void main(String args[]){ 


    String apiKey = "3f7046fe0897516df587cc3e6226f878"; 
    String sharedSecret = "9d0ceef5f2f3040f"; 
    Flickr f = new Flickr(apiKey, sharedSecret, new REST()); 
    TestInterface testInterface = f.getTestInterface(); 
    java.util.Collection<Element> results = testInterface.echo(Collections.EMPTY_MAP); 

    } 
} 
0

Согласно документации here, вам потребуется приведение к

Collection<Element> results = testInterface.echo(Collections.EMPTY_MAP); 

Подпись ..

public Collection<Element> echo(Map<String, String> params) throws FlickrException { 
.... 
    return response.getPayloadCollection(); 
} 
+0

Я пробовал кастинг , но затем я получаю следующую ошибку: Исключение из потока «main» java.lang.Error: Неразрешенная проблема компиляции: Тип Collection не является общим; он не может быть параметризирован аргументами \t at hello.main (hello.java:18) Я также попытался скопировать вставку кода документации, который вы дали, и я получаю такую ​​же ошибку даже с этим. – Bombastrelopas

+0

Некоторые ответы [здесь] (http://solvedstack.com/questions/the-type-collection-is-not-generic-it-cannot-be-parameterized-with-arguments-extends-e) для этого ... вы также можете попробовать, что предложил Заид ниже – ThreeSidedCoin

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

  • Нет связанных вопросов^_^