小编Ton*_*one的帖子

有人可以解释这些java泛型方法的声明吗?

我正在阅读Gilad Bracha撰写的"Java编程语言中的泛型",我对一种声明风格感到困惑.以下代码位于第8页:

interface Collection<E> 
{ 
    public boolean containsAll(Collection<?> c); 
    public boolean addAll(Collection<? extends E> c); 
} 


interface Collection<E> 
{ 
    public <T> boolean containsAll(Collection<T> c);
    public <T extends E> boolean addAll(Collection<T> c); 
    // hey, type variables can have bounds too! 
} 
Run Code Online (Sandbox Code Playgroud)

我的困惑来自第二次宣言.我不清楚<T>声明在以下行中的用途是什么:

    public <T> boolean containsAll(Collection<T> c);
Run Code Online (Sandbox Code Playgroud)

该方法已经有一个与之关联的类型(布尔值).

为什么要使用它<T>以及它对编码器有什么作用?

我认为我的问题需要更具体一些.

你为什么要写:

  public <T> boolean containsAll(Collection<T> c);
Run Code Online (Sandbox Code Playgroud)

VS

  public boolean containsAll(Collection<T> c);
Run Code Online (Sandbox Code Playgroud)

<T>在containsAll的第一个声明中,我不清楚,目的是什么.

java generics declaration

9
推荐指数
1
解决办法
692
查看次数

为什么我不能从命令行删除.svn目录中的条目文件?

首先,这一切都是在Mac OS X上完成的,版本10.6.4

我复制了一个文件树,其中包含一些已经从subversion中检出的java代码.我想删除该树中的所有.svn文件.所以我使用了以下命令:

find . -name .svn -exec rm -fr .svn {} \;
Run Code Online (Sandbox Code Playgroud)

我收到这样的消息:

rm: ./repository/entity/.svn: Directory not empty
Run Code Online (Sandbox Code Playgroud)

我查看了目录,它看起来像这样:

$ ls -ld .
-r--r--r--  1 tgia  staff  1250 Aug 13 10:48 entries
Run Code Online (Sandbox Code Playgroud)

该文件的父目录如下所示:

$ ls -ld .
drwxr-xr-x  4 tgia  staff  136 Aug 20 16:55 .
Run Code Online (Sandbox Code Playgroud)

好的,更改文件的权限:

$ chmod u+w entries 
chmod: Unable to change file mode on entries: Operation not permitted 
Run Code Online (Sandbox Code Playgroud)

我不懂,这些文件怎么了?我没有尝试使用chmod似乎改变了文件权限.文件所有权是正确的.我很痛苦.WTF?即使root也无法改变它们.

$ sudo chmod u+w entries
Password:
chmod: Unable to change file mode on entries: Operation …
Run Code Online (Sandbox Code Playgroud)

svn macos

1
推荐指数
1
解决办法
3202
查看次数

标签 统计

declaration ×1

generics ×1

java ×1

macos ×1

svn ×1