小编cam*_*dez的帖子

Java中是否存在用于满足接口的空方法的习惯用法?

假设我有一个Foo实现接口的类,如MouseListener.该MouseListener接口由五个方法组成,但我只希望覆盖其中一个(mouseClicked()).是否有一种标准的,惯用的格式化其他方法的方法?

我倾向于写下以下内容:

@Override
public void mouseClicked(MouseEvent e) {
    // (...) <-- actual code here
}

@Override
public void mouseEntered(MouseEvent e) {
    // Do nothing.  Exists to satisfy MouseListener interface.
}

@Override
public void mouseExited(MouseEvent e) {
    // Do nothing.  Exists to satisfy MouseListener interface.
}

@Override
public void mousePressed(MouseEvent e) {
    // Do nothing.  Exists to satisfy MouseListener interface.
}

@Override
public void mouseReleased(MouseEvent e) {
    // Do nothing.  Exists to satisfy …
Run Code Online (Sandbox Code Playgroud)

java oop annotations idioms interface

26
推荐指数
4
解决办法
1万
查看次数

为什么NSPasteboard的-types不返回包含NSPasteboardItem的-types的并集?

对于文件NSPasteboard-types内容如下:

回报价值

一组NSString对象,包含为接收器上的所有粘贴板项声明的数据类型的并集.返回的类型按声明的顺序列出.

尽管如此,我NSPasteboard只有一个NSPasteboardItem[pboard types]返回更多类型而不是[item types]返回.有谁能解释一下?

这里有一些证明问题的代码:

- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender {
    NSPasteboard *pboard = [sender draggingPasteboard];

    // Prove that there's only one item
    if ([[pboard pasteboardItems] count] > 1)
        return NO;

    for (NSString* type in [pboard types])
        NSLog(@"Pasteboard type: %@", type);

    NSPasteboardItem* item = [[pboard pasteboardItems] objectAtIndex:0];

    for (NSString* type in [item types])
        NSLog(@"Item type: %@", type);

    return NO; // Ignore for example
}
Run Code Online (Sandbox Code Playgroud)

产量

当我从Safari拖动链接时,我得到以下输出:

Pasteboard …
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c

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

标签 统计

annotations ×1

cocoa ×1

idioms ×1

interface ×1

java ×1

objective-c ×1

oop ×1