自从我听说类型推断(在Haskell中)以来,我就认为Java恰恰相反,即它没有类型推断.最近,我有一个aha时刻,并意识到Java在其泛型实现中使用类型推断.
然后,我读了Gilad Bracha的两篇论文(根据我的理解,这是Java中泛型实现背后的人之一).第一篇论文是关于泛型(PDF)的教程,其中他明确表示编译器将推断用于替换格式类型参数的实际类型参数.那么,Java中有类型推断,但为什么只有泛型,为什么不能像C#的var关键字?这是我的问题.
为什么Java没有内置到编译器中的更多类型推断?
我会建议一个答案,这与我读到的第二篇论文" Pluggable Type Systems(PDF)"有关.看来,Gilad Bracha认为推理部分不应该是编译器的一部分,而是IDE功能或类似功能(上述论文中的第4节第6段):
更好的工程方法是将类型推断实现为IDE中提供的单独工具.发现输入类型注释令人厌烦的程序员可以根据需要调用推理器.
你怎么看?
我有一个应用程序在一段时间后执行特定任务(由计时器控制).但每当我在hibernate之后启动PC时该应用程序就会运行.这意味着计时器在休眠期间保持运行至少一次.我怎么能避免这种情况.
为了了解jQuery,我是否必须首先了解JavaScript?
我正在创建一个文件列表
BufferedReader reader = new BufferedReader(
new InputStreamReader(new FileInputStream("H:/temp/data.csv")));
try {
List<Item> items = new ArrayList<Item>();
Item item = new Item();
String line = null;
while ((line = reader.readLine()) != null) {
String[] split = line.split(",");
item.name = split[0];
item.quantity = Integer.valueOf(split[1]);
item.price = Double.valueOf(split[2]);
item.total = item.quantity * item.price;
items.add(item);
}
for (Item item2 : items) {
System.out.println("Item: " + item2.name);
}
} catch (IOException e) {
reader.close();
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
问题是列表显示文件中的最后一行作为所有项的值.
所有.NET框架及其服务包的要求是什么?这是我需要知道的所有可用框架:
.NET Framework先决条件
它需要哪些其他.NET框架?
例如:.NET Framework 2.0不需要任何东西,.NET Framework 2.0 SP1需要安装.NET Framework 2.0,但.NET Framework 3.5 SP1不需要安装.NET Framework 3.5(或者可能是?dunno)
重新启动要求
安装后是否需要重新启动安装包?
清洁安装要求
安装包是否需要全新安装?(没有挂起的删除/重命名操作)
管理员权限
安装包是否需要管理员权限才能安装?(我猜这对所有人来说都是"是"......)
我需要知道以下包的所有这些:
是否可以在不上传到浏览器的情况下编辑本地文件?
假设客户端有一个 HTML 文件,我希望他能够使用我网站的 javascript 来编辑该文件而无需上传它。这可能吗?
谢谢。
我正在考虑auto在一些跨平台项目(Windows + Mac)中使用一些C++ 11功能(例如).在Windows上,Visual Studio支持即将推出的C++ 11标准的部分内容,这些内容允许我简化部分代码库,因此我很自然地会对开始使用这些功能感兴趣.
但据我所知,目前的XCode版本(3.2.4 + GCC 4.2)根本不支持任何C++ 11功能.我可以以某种方式升级GCC版本或CLang版本吗?或者,我是否应该咬紧牙关,等待Apple将来某个时候打包新版本?
现在,这不是严格意义上的URL缩短,但我的目的无论如何,所以让我们这样看.当然,URL缩短的步骤是:
现在,关于第二点.这是我想出的:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
UUID uuid = UUID.randomUUID();
dos.writeLong(uuid.getMostSignificantBits());
String encoded = new String(Base64.encodeBase64(baos.toByteArray()), "ISO-8859-1");
String shortUrlKey = StringUtils.left(encoded, 6); // returns the leftmost 6 characters
// check if exists in database, repeat until it does not
Run Code Online (Sandbox Code Playgroud)
这够好吗?
我正在寻找一个工具,我可以搜索几个jar,war,...文件的某个类和方法(甚至更好的签名).
到目前为止,我已经找到了JavaClassFinder等工具,我可以在其中搜索java文件和类.我需要的是搜索方法/签名......我正在寻找现有的解决方案,我不想编写自己的工具.
示例:MyMethod应该找到所有MyMethod方法
有什么想法,建议吗?
----编辑2014/3月-----