【问题标题】:How to send a simple ping test to Flickr with Flickrj api如何使用 Flickrj api 向 Flickr 发送简单的 ping 测试
【发布时间】:2015-08-11 08:26:42
【问题描述】:

我正在尝试使用 flickrj 向 Flickr 发送单个 ping 测试。我在这里一步一步地按照教程进行操作

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)

我做错了什么?

【问题讨论】:

  • 您是否尝试过 Collection results = testInterface.echo(Collections.EMPTY_MAP);?
  • @ZaidMalhis 是的,我忘了提到我已经尝试过了,我得到了以下信息: Collection 类型不是通用的;它不能用参数 参数化

标签: java api types type-mismatch flickrj


【解决方案1】:

您可能在导入中存在冲突,您正在使用 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);

    }
}

【讨论】:

    【解决方案2】:

    根据文档here,你需要一个演员来

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

    签名是..

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

    【讨论】:

    • 我曾尝试强制转换 ,但随后出现以下错误:线程“main”中的异常 java.lang.Error:未解决的编译问题:类型 Collection 不是通用的;它不能在 hello.main(hello.java:18) 使用参数 进行参数化我还尝试复制粘贴您提供的文档代码本身,即使这样我也会遇到相同的错误。
    • 对此的一些答案here...您可能还想尝试下面 Zaid 的建议
    猜你喜欢
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    相关资源
    最近更新 更多