小编Boh*_*ian的帖子

Java泛型与递归类型参数绑定

我有一个基类Thing,它提供了一些基本功能,包括ThingInfo使用类的类型参数获取对a的引用Thing.因为Java没有自我类型,所以我不能将它用于ThingInfo返回值的类型参数,所以Thing必须采用递归类型参数来允许我们返回正确的参数化ThingInfo.

interface ThingInfo<T>
{
    // just an example method showing that ThingInfo needs to know about
    // the type parameter T
    T getThing();
}

class Thing<T extends Thing<T>>
{
    // I need to be able to return a ThingInfo with the type parameter
    // of the sub class of Thing. ie. ThingA.getThingInfo() must return
    // a ThingInfo<ThingA>.
    // This is where Java would benefit from self types, as …
Run Code Online (Sandbox Code Playgroud)

java generics javac java-7

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

如何从ruby中删除亚马逊S3中的文件

我在带有S3的rails应用程序上制作了一个ruby.

我可以上传照片,但我尝试删除照片,即使在数据库中删除照片参考,照片仍然在S3中.

我如何从S3中删除文件?

amazon-s3 ruby-on-rails-3

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

链接列表的操作时间复杂度

我正在实施股票市场计划的关联清单.

它有和操作 - 买

对于购买代码是

//Stocks is a linked List like so 
//LinkedList<Integer> stocks = new LinkedList<Integer>();
public void buy(int q, int p) {
    stocks.addLast(q); //add number of stocks
    stocks.addLast(p); //for i stocks i +1 = price of stock
}
Run Code Online (Sandbox Code Playgroud)

此操作addLast用于链接列表,显然将给定元素添加到当前列表末尾的新位置.

因此,例如,如果我有一个列表,让我们说下面的数据

//Stock, price, stock, price etc...
[100, 50, 5000, 30, 8000, 60]
Run Code Online (Sandbox Code Playgroud)

如果我addLast是最后一个元素的链接列表搜索然后添加,因此时间复杂度将是O(n)(仅就Big Oh而言).或者它是否索引到列表的末尾,意识到列表的末尾是说stocks[5]然后插入引用列表末尾的新数据的新节点?

所以我的问题是,addLast()操作链表时间复杂度为O(n)还是O(1)?

发布以下任何说明

java linked-list

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

iOS崩溃,EXC_BREAKPOINT,没有Xcode 6.1的线索

我通常能够解决崩溃,但在这里我不知道它来自哪里.

我使用解析,我只是在后台用完成块做一个请求.应用程序在简单的if条件下崩溃,我几乎无法识别任何内容,无法打印描述,...你有什么想法吗?一个起点?什么?Xcode 6.1真的很奇怪,似乎调试器有问题.

这是崩溃的日志:

    Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x000000019657a964 __kill + 8
1   MyAPP                           0x00000001001f2b70 0x10009c000 + 1403760
2   libsystem_platform.dylib        0x0000000196610958 _sigtramp + 64
3   MyAPP                           0x00000001001318cc 0x10009c000 + 612556
4   MyAPP                           0x000000010013797c 0x10009c000 + 637308
5   MyAPP                           0x0000000100135fc4 0x10009c000 + 630724
6   MyAPP                           0x00000001002e408c 0x10009c000 + 2392204
7   MyAPP                           0x00000001001dbf78 0x10009c000 + 1310584
8   libdispatch.dylib               0x00000001964393a8 _dispatch_call_block_and_release + 20
9   libdispatch.dylib               0x0000000196439368 _dispatch_client_callout + 12
10  libdispatch.dylib               0x000000019643d97c _dispatch_main_queue_callback_4CF + 928
11 …
Run Code Online (Sandbox Code Playgroud)

crash xcode crash-reports ios swift

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

使用lambdas覆盖默认方法

给定一个带有默认方法的简单接口:

private interface A {
    default void hello() {
        System.out.println("A");
    }
}
Run Code Online (Sandbox Code Playgroud)

并且接受它的实例的方法:

private static void print(A a) {
    a.hello();
}
Run Code Online (Sandbox Code Playgroud)

我可以使用匿名类覆盖它:

print(new A() {
    @Override
        public void hello() {
        System.out.println("OverHello");
    }
});
Run Code Online (Sandbox Code Playgroud)

但如果我尝试使用lambda print(() -> System.out.println("OverHello2"));,我会收到编译错误.

找不到目标方法

有没有办法用lambda进行覆盖?

java lambda

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

knitr:添加图形注释

我有一个看起来像这样的图:

<<foo, fig.lp='', fig.cap='name', fig.subcap=c('left', 'right'),>>=
plot1
plot2
@
Run Code Online (Sandbox Code Playgroud)

现在我想在下面显示一组关于这个图的注释(即多行文本)。在 knitr 创建的图形环境中,有没有什么方便的方法可以做到这一点?


正如上面的评论中已经指出的那样,目前没有解决我的问题的方法。我已提交功能请求。

latex r figure subfigure knitr

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

通过使用具体类而不是接口来减少编译的js的大小

我已经读过GWT,指定返回具体实现的方法,例如:

public ArrayList<String> getList();
Run Code Online (Sandbox Code Playgroud)

而不是通常首选的"抽象接口",例如:

public List<String> getList();
Run Code Online (Sandbox Code Playgroud)

结果在GWT产生编译JavaScript文件一个较小的,因为客户端(即JS)代码不必满足所有已知的接口的实现(在的例子中List,客户端代码必须能够处理LinkedList,ArrayList,Vector,等),因此它可以通过不编译未使用的实现来优化js.

我密切相关的问题是:

  • 这是真的?(以下问题假设真的)
  • 是使用接口还是每个应用程序的每类优化?即
  • 我是否只看到重构一个课程的好处?要么
  • 一旦所有客户端类都被重构为不使用接口,我才会看到一个好处吗?

size gwt class abstract

5
推荐指数
2
解决办法
167
查看次数

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

什么是使用Collection <?扩展SomeAbstractClass>而不是Collection <SomeAbstractClass>

因此,假设我们有一个Java应用程序,其中包含一个名为的抽象类,SomeAbstractClass以及至少10个超类的子类.

什么是使用这种抽象超类在泛型中的方式,Collection<? extends SomeAbstractClass>而不仅仅是使用Collection<SomeAbstractClass>

也许我错过了仿制药中非常基本的东西.

java generics

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

用Java 8替换重复的get语句可选

我有一个用例,我有嵌套类和顶级类的对象.我想得到一个在第N级的值.我正在重复使用getter来实现这一点以避免NPE.示例代码(假设有吸气剂)

class A {
    String a1;
    String getA1() {
        return a1;
    }
}

class B {
    A a;
    A getA() {
        return a;
    }
}

class C {
    B b;
    B getB() {
        return b;
    }
}

class D {
    C c;
    C getC() {
        return c;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我有一个对象dD,并希望得到String a1A,我在做什么是以下几点:

String getAValue(D d) {
    String aValue = null;
    if(d != null && d.getC() != null && d.getC().getB() != null && d.getC().getB().getA() …
Run Code Online (Sandbox Code Playgroud)

java optional

5
推荐指数
2
解决办法
128
查看次数