我使用Eclipse开发Java代码并定期收到以下消息:
资源与文件系统不同步.
右键单击>刷新将始终清除此项.
但是为什么Eclipse在找到这种情况时不能自动刷新?是否存在您希望资源不同步的情况?
如果有这样的条件并且它们不适用于我的工作,有没有办法让Eclipse在遇到这种状态时自动刷新?(我很欣赏它应该在正常开发中尽可能少地刷新,以提高人类开发人员的性能.)
更新(2012-06-25):我的最新更新(版本:Indigo Release Build id:20110615-0604)不再显示首选项 - 常规 - 工作区 - 自动刷新有一个选项"访问时刷新" - 我应该使用它吗?
我正在通过Jar文件中的类进行交互,并希望找到那些不是抽象的.我可以通过实例化类和捕获InstantiationException来解决这个问题,但由于某些类具有大量启动,因此性能受到影响.我在Class.java文档中找不到任何明显像isAbstract()的东西.
Java的boolean
允许值true
,并false
同时允许布尔值true
,false
和null
.我已经开始将我的boolean
s 转换为Boolean
s.这可能导致测试中的崩溃,例如
Boolean set = null;
...
if (set) ...
Run Code Online (Sandbox Code Playgroud)
而考试
if (set != null && set) ...
Run Code Online (Sandbox Code Playgroud)
看似人为,容易出错.
如果有的话,使用Boolean
带空值的s 是否有用?如果从来没有,那么被包裹物体的主要优点是什么?
更新:有很多有价值的答案,我在自己的答案中总结了一些.我充其量是Java的中间人,所以我试图展示我发现有用的东西.请注意,问题是"错误的措辞"(布尔值不能"具有空值"),但我已经离开它以防其他人有相同的误解
我想从其字符串值(或可能是任何其他值)查找枚举.我尝试了以下代码,但它不允许在初始化程序中使用静态代码.有一个简单的方法吗?
public enum Verbosity {
BRIEF, NORMAL, FULL;
private static Map<String, Verbosity> stringMap = new HashMap<String, Verbosity>();
private Verbosity() {
stringMap.put(this.toString(), this);
}
public static Verbosity getVerbosity(String key) {
return stringMap.get(key);
}
};
Run Code Online (Sandbox Code Playgroud) 我在Java 1.6中使用Java正则表达式(尤其是解析数字输出)并且找不到\b
("单词边界")的精确定义.我假设这-12
将是一个"整数字"(匹配 \b\-?\d+\b
),但似乎这不起作用.我很想知道匹配空格分隔数字的方法.
例:
Pattern pattern = Pattern.compile("\\s*\\b\\-?\\d+\\s*");
String plus = " 12 ";
System.out.println(""+pattern.matcher(plus).matches());
String minus = " -12 ";
System.out.println(""+pattern.matcher(minus).matches());
pattern = Pattern.compile("\\s*\\-?\\d+\\s*");
System.out.println(""+pattern.matcher(minus).matches());
Run Code Online (Sandbox Code Playgroud)
返回:
true
false
true
Run Code Online (Sandbox Code Playgroud) 我需要使用ant(1.7.0)编译一个jar文件,以在特定版本的Java(1.5)下运行.我目前在我的机器上安装了Java 1.6.我试过设置:
<target name="compile">
<javac compiler="javac1.5" target="1.5" srcdir=.../>
</target>
Run Code Online (Sandbox Code Playgroud)
我也删除了
<property name="build.compiler" value="modern"/>
Run Code Online (Sandbox Code Playgroud)
并且没有属性文件.我在Linux/SUSE上运行Java 1.6
还有一种简单的方法可以确定jar文件中预期的Java版本.
是否有一种简单的方法可以在Eclipse(Galileo)中为Junit4测试创建存根?
在Java中我可以写:
public final static MyClass foo = new MyClass("foo");
Run Code Online (Sandbox Code Playgroud)
C#中有没有相应的东西?
我已经将C#枚举定义为
public enum ORDER
{
...
unknown,
partial01,
partial12,
partial23,
}
Run Code Online (Sandbox Code Playgroud)
并且可以将其值用作字符串,如:
string ss = ORDER.partial01.ToString();
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在case语句中使用它时,它无法编译:
string value = ...
switch (value)
{
case null:
break;
case "s":
// OK
break;
case ORDER.partial01.ToString():
// compiler throws "a constant value is expected"
break;
...
Run Code Online (Sandbox Code Playgroud)
我认为枚举是常数.我该如何解决这个问题?
(我无法将值解析为枚举值,因为某些值超出了范围)
我是Kibana的新手,将数据加载到Elastic 5.0.0-alpha3并使用Kibana 5.0.0-alpha3进行Visualize.我可以将一些数字字段显示为直方图,但是当我想使用文本字段时,我得到:
Visualize: Fielddata is disabled on text fields by default. Set fielddata=true on [publisher] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory.
Run Code Online (Sandbox Code Playgroud)
我被警告说,数据(发布者的名字)可能已被分析到子字段,但无论如何我想显示.
我该怎么设置fielddata=true
?
编辑:最近关于Kibana github的问题表明这是5.0.0中的新功能,仍在等待答案!
编辑(关注@ Val的答案,并要求弹性新手帮助,并希望其他人会发现它有用).摄取脚本是:
fs = require('fs')
var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({
host: 'localhost:9200',
log: 'trace'
});
fs.readFile('/Users/pm286/workspace/cmdev/getpapers/20160602/crossref_results.json', (err, data) => {
if (err) throw err;
document = JSON.parse(data)
document = JSON.parse(data)
for(i=0;i<document.length;i++) {
client.create({
index: …
Run Code Online (Sandbox Code Playgroud)