问题列表 - 第37046页

使用方法参数超类的接口实现

作为该主题中一般问题的一个实际例子,我想containsAllSet界面中实现该方法

public boolean containsAll(Iterable<?> c) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

我想这应该是允许的,因为CollectionIterable意味着这种containsAll将涵盖接口要求.同样,更普遍的是能够实现与参数超类的接口似乎应该工作.

然而,Eclipse说没办法(没有试过直接javac) - 有人可以解释原因吗?我确信规范中的某些内容使其成为现实,但我也想了解需求的动机.或者我错过了Iterable<?>不是超类的东西Collection<?>

作为一个附带问题 - 鉴于我正在声明两个方法,带有Iterable签名的方法总是首选带有Collection参数的调用?

Eclipse错误:

如果我删除带Collection签名的方法,只留下Iterable一个(见错误后),我得到以下内容:

The type BitPowerSet must implement the inherited abstract method Set<Long>.containsAll(Collection<?>)

确切的实施是:

@Override public boolean containsAll(Collection<?> c) {
  for (Object o : c) if (!contains(o)) return false;
  return true;
}
public boolean containsAll(Iterable<?> c) {
  for (Object o : c) …
Run Code Online (Sandbox Code Playgroud)

java interface method-signature

6
推荐指数
2
解决办法
905
查看次数

谁在java中调用main函数?

public static void main(String[] args) 
{
    boolean t=true;
    System.out.println("Before return");
    if(t) return;
    System.out.println("not execute");
}
Run Code Online (Sandbox Code Playgroud)

在使用上面的代码时,return它应该返回调用main函数的函数.究竟是谁调用了这个main功能?

java

6
推荐指数
2
解决办法
9344
查看次数

如何在Etherpad中模拟插入符号?

如何在Etherpad中模拟闪烁的插入符号?(请参阅ietherpad.com上的实时版本)我这样做的方法是创建一个div并将其放置在插入符号的绝对位置.然后,定期显示并删除它.然而,他们似乎做了不同的事情.

一行的文字在

<div id="magicdomid2" class="">...</div>
Run Code Online (Sandbox Code Playgroud)

我看不到有关div的任何变化.怎么做?

html javascript etherpad

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

在StringBuilder中的最后一个String之后正常删除"\n"分隔符

有以下Java代码,StringBuilder使用"\n" 创建,即回车分隔符:

while (scanner.hasNextLine()){
    sb.append(scanner.nextLine()).append("\n");
}
Run Code Online (Sandbox Code Playgroud)

它发生了,在最后一个String(行)后面有"\n"符号.

如何从结果StringBuilder对象中优雅地删除最后一个"\n" ?

谢谢.

java string stringbuilder newline

17
推荐指数
2
解决办法
2万
查看次数

如何正确地将对象显示为String

我正在研究这个代码,并希望打印一个矩阵,但那就是出现了什么 Matrix@2c78bc3b Matrix@2a8ddc4c

这是一个代码示例:

public class Matrix
{

    public static int rows;
    public static int colms;//columns
    public static int[][] numbers;

    public Matrix(int[][] numbers)
    {

        numbers = new int[rows][colms];

    }


    public static boolean isSquareMatrix(Matrix m)
    {
        //rows = numbers.length;
        //colms = numbers[0].length;

        if(rows == colms)
           return true;
        else
            return false;
    }

    public static Matrix getTranspose(Matrix trans)
    {
       trans = new Matrix(numbers);

        for(int i =0; i < rows; i++)
        {
            for(int j = 0; j < colms; j++)
            {
                trans.numbers[i][j] = numbers[j][i]; …
Run Code Online (Sandbox Code Playgroud)

java tostring

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

RSS阅读器的工作原理(netvibes,谷歌阅读器......)

我想知道像谷歌阅读器,Blogline,techronati这样的网络应用程序是如何运作的,以及他们使用什么技术来同时使用cron作业解析数百万个RSS源?

xml rss feeds

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

当边界发生变化时,如何获得显示文本的UIView的UIView?

我有一个UIView,我需要在drawRect中绘制文本:

- (void)drawRect:(CGRect)rect {
    ...
    [@"some text" drawAtPoint:somePoint withFont:someFont];
    ...
}
Run Code Online (Sandbox Code Playgroud)

因为文本需要特殊的格式,我不能只使用UILabel.

在我旋转设备之前它看起来很好.然后我的自定义UIView的大小发生变化(在父视图的layoutSubviews方法中),文本在一个方向上被拉伸而在另一个方向上被压缩.

当我用UILabel替换我的视图时,即使视图的边界发生变化,文本也总是很好看.

如何让我的视图表现出与UILabel相同的行为?

我已经研究过的一些事情,但尚未取得成功:

  • 将视图图层的needsDisplayOnBoundsChange设置为YES.
  • 将视图的contentStretch设置为CGRectZero.
  • 在我视图的layoutSubviews中调用setNeedsDisplay.

也许我没有做正确的事情之一.有没有其他人遇到这个?

更新:根据James Huddleston的回答,我将contentMode视图的属性设置为UIViewContentModeRedraw,这让我成为了那里的一部分.现在,动画结束时文本显示正确.但是,在动画开始时,文本会被压缩/拉伸以适应最终尺寸,然后在动画过程中得到不合格/未拉伸.UILabel不是这种情况.

iphone uiview uilabel

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

c ++引用数组

我怎么能让这段代码工作?

#include <iostream>
using namespace std;

void writeTable(int (&tab)[],int x){
    for(int i=0;i<x;i++){
        cout << "Enter value " << i+1 <<endl;
        cin >> tab[i] ;
    }
}


int main(void){
    int howMany;
    cout << "How many elemets" << endl;
    cin >> howMany;

    int table[howMany];
    int (&ref)[howMany]=table;
    writeTable(ref,howMany);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

以下是我的错误:

|4|error: parameter ‘tab’ includes reference to array of unknown bound ‘int []’|
|18|error: invalid initialization of reference of type ‘int (&)[]’ from expression of type ‘int [(((unsigned int)(((int)howMany) + -0x00000000000000001)) + …
Run Code Online (Sandbox Code Playgroud)

c++ arrays reference pass-by-reference

7
推荐指数
3
解决办法
1万
查看次数

在python中计算IP校验和

我需要计算IP数据包的校验和,如http://www.faqs.org/rfcs/rfc1071.html中所述.

我已经有以下代码:

#!/usr/bin/python
import struct

data = "45 00 00 47 73 88 40 00 40 06 a2 c4 83 9f 0e 85 83 9f 0e a1"

# a test for the checksum calculation

def _checksum(data):
    #calculate the header sum
    ip_header_sum = sum(struct.unpack_from("6H", data))
    #add the carry
    ip_header_sum = (ip_header_sum & 0xFFFF) + (ip_header_sum >> 16 & 0xFFFF)
    #invert the sum, python does not support inversion (~a is -a + 1) so we have to do
    #little trick: …
Run Code Online (Sandbox Code Playgroud)

python checksum network-protocols

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

为什么我可以从'eval'调用'print'

代码:

#!/usr/bin/python

src = """
print '!!!'
import os
"""

obj = compile(src, '', 'exec')
eval(obj, {'__builtins__': False})
Run Code Online (Sandbox Code Playgroud)

我得到输出:

!!!
Traceback (most recent call last):
  File "./test.py", line 9, in <module>
    eval(obj, {'__builtins__': False})
  File "", line 3, in <module>

ImportError: __import__ not found
Run Code Online (Sandbox Code Playgroud)

'print'和'import'都是语言结构.为什么'eval'限制使用'import'但不限制'print'?

PS我正在使用python 2.6

更新:问题不是"为什么导入不起作用?" 但"为什么印刷工作?" 是否有一些架构限制或其他?

python printing import eval built-in

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