这是我的代码,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中编写内联注释,如下所示:
/** Init operation */
mindControlLaser.engage();
Run Code Online (Sandbox Code Playgroud)
而不是只使用一个*:
/* i'm a happy comment */
Run Code Online (Sandbox Code Playgroud)
Eclipse以不同的方式对语法进行着色,但是在使用/***/时,"工具链"(javadoc,eclipse等)中是否真的有任何优势?
我在一个可序列化的类中有这样的成员:
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(保证是可序列化的)".
我正在编写一个 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”。
有任何想法吗?
为什么Guava没有以下工厂调用来从普通Map创建MultiMap?
public static <K,V> MultiMap<K,V> invertMap(Map<V,K> map);
Run Code Online (Sandbox Code Playgroud)
我有程序名映射到它们被调用的频率的整数.我想反转这个,这样我最终可以构造一个TreeMap,按调用计数排序,然后是导致一个或多个程序名的键.
我有两张桌子.一个changelog-table,其详细信息在这里并不重要.另一个包含卖家信息的表格,最重要的是有两列:
更改卖家时,会创建一个新条目,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) 我想知道如何正确获取一个LayoutInflater实例以及如何保持它.
android doc说明:
它永远不会直接使用.相反,使用getLayoutInflater()或getSystemService(String)来检索已连接到当前上下文并为您运行的设备正确配置的标准LayoutInflater实例.
我的问题:
LayoutInflater,为什么他们这样做?我正在研究一个滞后,发生在我的android应用程序的第一次触摸输入之后.我使用了TraceView并追踪了Guava's初始化的约2秒延迟Splitter.

这是调用的行Splitter:
String desc = /* loaded from assets */
List<String> descList = Lists.newArrayList(Splitter.on("\n").split(desc));
Run Code Online (Sandbox Code Playgroud) 有没有办法String通过反射或生成来获取视图引用的名称?
例:
public static final int main = 0x7f030000;
我有0x7f030000,我想要"main";
java ×6
android ×3
collections ×2
generics ×2
guava ×2
performance ×2
ajax ×1
class ×1
comments ×1
eclipse ×1
eval ×1
greasemonkey ×1
indexing ×1
javadoc ×1
javascript ×1
jquery ×1
lag ×1
map ×1
multimap ×1
postgresql ×1
sql ×1
static ×1
types ×1