首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >参数化方法中的变量范围- java泛型

参数化方法中的变量范围- java泛型
EN

Stack Overflow用户
提问于 2014-12-25 12:39:13
回答 1查看 55关注 0票数 0

为什么在这个foreach循环中,elem不被识别为一条路径,而我只能在它上调用对象方法?

代码语言:javascript
复制
public class TypeOption<Path> implements Option<Path> {

    @Override
    public void apply(String arg, Collection<Path> c) {
        for (Path elem : c) {
            if (Files.isExecutable(elem)) c.remove(elem);
        }
    }
}

这条线

代码语言:javascript
复制
if (Files.isExecutable(elem)) c.remove(elem);

正在制造麻烦,上面说

代码语言:javascript
复制
The method isExecutable(java.nio.file.Path) in the type Files is not applicable for the arguments (Path)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-25 12:41:29

这是因为Path在这里是一个类型参数--您已经声明了一个泛型类型,Path是类型参数。我怀疑你*通缉:

代码语言:javascript
复制
public class TypeOption implements Option<Path> {

此时,Path引用名为Path的现有类型,并用于Option<T>的类型参数(或Option的类型参数)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27647271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档