是否可以在Java中创建泛型类型的实例?我正在考虑基于我所看到的答案是no(由于类型擦除),但如果有人能看到我缺少的东西,我会感兴趣:
class SomeContainer<E>
{
E createContents()
{
return what???
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:事实证明,超级类型标记可用于解决我的问题,但它需要大量基于反射的代码,如下面的一些答案所示.
我会把这个开放一段时间,看看是否有人提出了与Ian Robertson的Artima文章截然不同的任何东西.
如果您有一个静态分配的数组,Visual Studio调试器可以轻松显示所有数组元素.但是,如果您有一个动态分配并由指针指向的数组,那么当您单击+以展开它时,它将仅显示该数组的第一个元素.是否有一种简单的方法来告诉调试器,将这些数据显示为Foo类型和X大小的数组?
这是一个非常简单的Prototype示例.
所有这一切都是在窗口加载时,ajax调用将一些html粘贴到div中.
<html>
<head>
<script type="text/javascript" src="scriptaculous/lib/prototype.js"></script>
<script type="text/javascript">
Event.observe(window, 'load', function(){
new Ajax.Request('get-table.php', {
method: 'get',
onSuccess: function(response){
$('content').innerHTML = response.responseText;
//At this call, the div has HTML in it
click1();
},
onFailure: function(){
alert('Fail!');
}
});
//At this call, the div is empty
click1();
});
function click1(){if($('content').innerHTML){alert('Found content');}else{alert('Empty div');}}
</script>
</head>
<body><div id="content"></div></body>
</html>
Run Code Online (Sandbox Code Playgroud)
令人困惑的是Prototype理解div实际上有东西的上下文.
如果你看一下ajax调用的onSuccess部分,你会看到那时$('content').innerHTML里面有东西.
但是当我在ajax调用之后立即检查$('content').innerHTML时,它似乎是空的.
这对我来说必定是一些根本性的误解.有人在乎向我解释吗?
编辑
我只想澄清一些事情.我意识到Ajax调用是异步的.
这是事情正在执行的实际顺序以及为什么它让我感到困惑:
所以它就像代码按照它编写的顺序执行,但是DOM没有以相同的顺序更新.
编辑2 所以简短的回答是将代码放入onSuccess是正确的地方.
另一个要考虑的情况是你进行Ajax调用,然后从第一次调用的onSuccess执行另一个Ajax调用,如下所示:
new Ajax.Request('foo.php',{
method: 'get',
onSuccess: function(response){
doAnotherAjaxCall();
} …Run Code Online (Sandbox Code Playgroud) 如何在没有root权限的情况下检测到chroot监狱?假设标准的BSD或Linux系统.我想出的最好的方法是查看"/"的inode值并考虑它是否相当低,但我想要一种更准确的检测方法.
[edit 20080916 142430 EST] 简单地查看文件系统是不够的,因为复制诸如/ boot和/ dev之类的东西以欺骗被监禁的用户并不困难.
[edit 20080916 142950 EST] 对于Linux系统,在/ proc中检查意外值是合理的,但是那些首先不支持/ proc的系统呢?
如何检测应用程序中何处抛出异常?
每当我的Java桌面应用程序中的任何地方抛出异常时,我都会尝试自动向我发送电子邮件.我这样想,我可以更积极主动.
我知道我可以在发生异常时明确地记录并通知我自己,但我必须在任何地方都这样做,我可能(更有可能)会错过一对.
有什么建议?
如何在MSDN上快速找到Win32 API的URL?.NET方法很简单 - 只需将方法名称(例如,System.Byte.ToString)添加到http://msdn.microsoft.com/library/即可.
但是,对于Win32 API(比如GetLongPathName),这不起作用:http://msdn.microsoft.com/en-us/library/GetLongPathName.
我希望能够在代码注释或文档中使用URL.因此,使用MSDN或Google搜索获得的URL(例如,http://msdn.microsoft.com/library/aa364980.aspx)并不是我真正想要的.我真的很喜欢我的代码注释看起来像:
// 等等等等等等.有关更多信息,请参阅http://msdn.microsoft.com/en-us/library/GetLongPathName.
什么是Win32 API的神奇小精灵粉尘?或者它只适用于.NET方法?
当您在同一台计算机上的可执行文件上执行常规gdb会话时,您可以提供运行命令,它将再次启动该程序.
当您在嵌入式系统上运行gdb时,与命令target localhost:3210'一样,如何在不退出并重新启动gdb会话的情况下重新启动程序?
Nikhil Kothari的脚本#很可能是我在JavaScript领域看到的最令人惊奇的概念之一已经有一段时间了.这个问题不是关于JavaScript,而是关于.NET运行时中的语言编译.
我一直很感兴趣,使用.NET平台,可以为已经有编译器(如C#)的语言编写编译器,该编译器将从原始编译器生成单独的输出,同时允许原始编译器生成输出在同一构建操作期间使用相同的源,同时引用/使用其他编译器的输出.
我不完全确定我甚至能够很好地理解这个过程以便用正确的细节提出问题,但这是我目前看到这个过程的方式,正如Script#docs中的图表所示.我想过很多涉及复杂语言设计和编译的东西,可以利用这样的概念,我对其他人对这些概念的看法感兴趣.
-
编辑:感谢您的评论,到目前为止; 你的信息本身就非常有趣,我想更多地研究它,但我的问题实际上是关于如何编写我自己的编译器,它可以在同一个源上同时运行使用CLR产生多种不同类型的(可能)相互依赖的输出.脚本#作为一个例子,因为它使用相同的C#源生成JavaScript和汇编,同时使编译的汇编与JavaScript协作.我很好奇在设计这种性质的东西时,各种方法和理论概念是什么.