小编Fab*_*ndl的帖子

类型安全的类参数的通用(非静态)方法,它是如何工作的?

这是我的代码,Control是一个swt-ui-widget,方法find应该返回一个组件,其类型在"clazz"中传递.我知道如何使用静态方法执行此操作,但如果它是实例方法则不起作用.

package org.uilib.swt.templating;

import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Control;

public class Component<T extends Control> {

    public final String name;
    public final T control;

    public Component(String name, T control) {
        this.name = name;
        this.control = control;
    }

    public String getName() {
        return name;
    }

    public T getControl() {
        return control;
    }

    public Component<E> find(String query, Class<E extends Control> clazz) {

        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想做以下事情:

Component<Button> x = this.find("asd", Button.class);
Run Code Online (Sandbox Code Playgroud)

java generics static types class

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

Java中的内联注释:/**与/*相对?

有什么理由我更喜欢在java中编写内联注释,如下所示:

/** Init operation */
mindControlLaser.engage();
Run Code Online (Sandbox Code Playgroud)

而不是只使用一个*:

/* i'm a happy comment */
Run Code Online (Sandbox Code Playgroud)

Eclipse以不同的方式对语法进行着色,但是在使用/***/时,"工具链"(javadoc,eclipse等)中是否真的有任何优势?

java eclipse comments javadoc

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

可序列化集合的通用参数

我在一个可序列化的类中有这样的成员:

private final Map<String, List<T>> categoryMap = Maps.newHashMap();
Run Code Online (Sandbox Code Playgroud)

该类具有以下类型边界.

<T extends Serializable>
Run Code Online (Sandbox Code Playgroud)

我使用findbugs检查我的代码中的错误,它向我显示该成员为"not(保证是可序列化的)".

java generics collections serialization

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

在 Eval 中设置变量 (JavaScript)

我正在编写一个 GreaseMonkey 脚本(使用 JQuery),并且我需要一些由原始页面中的脚本设置的变量,如下所示:

<script type="text/javascript"> 
    var rData = {"20982211":[1,0,1],"20981187":[8,0,4]};
</script>
Run Code Online (Sandbox Code Playgroud)

我从另一个页面获取这个元素并尝试评估它,奇怪的是这不起作用:

$.get(link_url, null, function(data) {
   alert("1:" + rData);
   eval($(data).find("script").text());
   alert("2:" + rData);
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我运行脚本时,它可以在 firebug 控制台上工作(我只是在没有 .get 的情况下直接在目标页面上尝试了 eval),但它没有。它在两个警报中都给了我“null”。

有任何想法吗?

javascript ajax jquery greasemonkey eval

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

Guava:通过反转Map构建Multimap

为什么Guava没有以下工厂调用来从普通Map创建MultiMap?

public static <K,V> MultiMap<K,V> invertMap(Map<V,K> map);
Run Code Online (Sandbox Code Playgroud)

我有程序名映射到它们被调用的频率的整数.我想反转这个,这样我最终可以构造一个TreeMap,按调用计数排序,然后是导致一个或多个程序名的键.

java collections map multimap guava

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

为什么未使用的FROM表会使语句变慢

我有两张桌子.一个changelog-table,其详细信息在这里并不重要.另一个包含卖家信息的表格,最重要的是有两列:

  • 主要身份证件
  • 和一个名为ident(= realworld ID)的id.

更改卖家时,会创建一个新条目,ident保持不变,但新条目获取新ID.我有ID的主索引和(ident,-id)上的另一个索引,所以我可以快速获得当前数据.

有机会我发现以下奇怪的行为:

这需要花费很长时间才能完成:

SELECT DISTINCT ON (ident) sellers.* FROM changelog, sellers ORDER BY ident,id DESC;

                                  QUERY PLAN                                    
---------------------------------------------------------------------------------
 Unique  (cost=741675.98..760122.47 rows=10 width=30)
   ->  Sort  (cost=741675.98..750899.22 rows=3689298 width=30)
         Sort Key: sellers.ident, sellers.id
         ->  Nested Loop  (cost=3.07..74457.37 rows=3689298 width=30)
               ->  Seq Scan on changelog  (cost=0.00..668.34 rows=38034 width=0)
               ->  Materialize  (cost=3.07..4.04 rows=97 width=30)
                     ->  Seq Scan on sellers  (cost=0.00..2.97 rows=97 width=30)
Run Code Online (Sandbox Code Playgroud)

当我用-ID替换DESC时它很快,但产生相同的结果.

SELECT DISTINCT ON (ident) sellers.* FROM changelog, sellers ORDER BY ident,-id;

                                         QUERY PLAN                                        
------------------------------------------------------------------------------------------
 Unique  (cost=706.37..92956.53 …
Run Code Online (Sandbox Code Playgroud)

sql postgresql indexing

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

Android:如何(重新)使用LayoutInflater

我想知道如何正确获取一个LayoutInflater实例以及如何保持它.

android doc说明:

它永远不会直接使用.相反,使用getLayoutInflater()或getSystemService(String)来检索已连接到当前上下文并为您运行的设备正确配置的标准LayoutInflater实例.

我的问题:

  • getSystemService(String)是否快速,所以我可以在任何地方调用它我需要一个实例?
  • 我应该将inflater-instance存储在一个变量中供以后使用吗?
  • 我想我在SDK中看到了一些接口,通过了LayoutInflater,为什么他们这样做?

performance android

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

Android上的Guava-Splitter需要1.7秒才能初始化?

我正在研究一个滞后,发生在我的android应用程序的第一次触摸输入之后.我使用了TraceView并追踪了Guava's初始化的约2秒延迟Splitter.

在此输入图像描述

  • 为什么这需要这么长时间?
  • 我正确读取TraceView的输出吗?
  • 我该怎么办?

这是调用的行Splitter:

String desc = /* loaded from assets */
List<String> descList = Lists.newArrayList(Splitter.on("\n").split(desc));
Run Code Online (Sandbox Code Playgroud)

java performance android lag guava

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

是否可以从R.java获取a(int - > String)映射

有没有办法String通过反射或生成来获取视图引用的名称?

例:

public static final int main = 0x7f030000;

我有0x7f030000,我想要"main";

java android

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