在我目前的项目中,我觉得有必要使用反射在Java中创建一种模拟回调系统.但是,我在解决实际功能方面遇到了问题.有问题的代码如下:
public Callback(Object parentObj, String methodName, Class<?>...parameters)
{
if(parentObj == null)
throw new IllegalArgumentException("parentObj cannot be null", new NullPointerException());
Class<?> clazz = parentObj.getClass();
// Trace debugging, see output
for(Method m : clazz.getDeclaredMethods())
if(m.getName().equals("myMethod")) System.out.println (m);
try { this.method = clazz.getMethod(methodName, parameters); }
catch(NoSuchMethodException nsme) { nsme.printStackTrace(); } // Exception caught
catch(SecurityException se) { se.printStackTrace(); }
this.parentObj = parentObj;
this.parameters = parameters;
}
Run Code Online (Sandbox Code Playgroud)
当我构造Callback对象时,我使用这样的语法:
new Callback(this, "myMethod", boolean.class)
Run Code Online (Sandbox Code Playgroud)
当我尝试创建我的伪回调时,它会命中NoSuchMethodExceptioncatch块.我在上面包含了一些跟踪调试,以显示我的一个方法的输出失败.输出:
private void my.package.MyClass.myMethod(boolean)
java.lang.NoSuchMethodException: my.package.MyClass.myMethod(boolean)
at java.lang.Class.getMethod(Class.java:1605)
at …Run Code Online (Sandbox Code Playgroud) 将矩形(c struct为4 ints)划分为随机数的较小矩形(返回structs 列表)的算法是什么?如果可以通过参数控制较小矩形的最大和最小尺寸,则更好.
例如
+----------+ +-------+--+
| | | | |
| | | | |
| | --> |---+---+--| (good)
| | | | |
| | +---+ |
| | | | |
+----------+ +---+------+
Run Code Online (Sandbox Code Playgroud)
较小的形状应该是4面,以下不好:
+----------+ +-------+--+
| | | | |
| | | | |
| | --> |---+---+--| (not good)
| | | |
| | +---+ |
| | | | |
+----------+ +---+------+
Run Code Online (Sandbox Code Playgroud)
谢谢!
附录:( Moron讨论的矩形)
+----+--------+ …Run Code Online (Sandbox Code Playgroud) 我是Python的新手,在单元测试我的对象上的一些方法时,我发现了一些"怪异"的东西.
class Ape(object):
def __init__(self):
print 'ooook'
def say(self, s):
print s
def main():
Ape().say('eeek')
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
我写了这个小例子来说明我感到困惑的地方.如果你做Ape().说('eeek')这实际上是实例化一个Ape对象并运行init方法吗?我以为它不会,但我有一些奇怪的副作用,所以现在我在想它呢?
驱动程序(设备驱动程序)和驱动程序堆栈有什么区别?我一直听到人们在谈论"驱动程序堆栈"但我以前从未真正听说过这个......谢谢!
传统上我使用FireBug来调试我的AJAX请求.它允许您检查请求的内容以及从服务器发回的响应.(当这些情况发生时,它也会在控制台中通知您,这是Chrome似乎缺乏的有用功能).
在Chrome中,我似乎只能查看请求,而不是响应.当我尝试检查响应时,UI只显示"No Content Available"(开发人员工具>资源> myRequest.php>内容).我是否必须启用某些功能才能让Chrome开发者工具记住这些请求?
编辑:如果重要,这些请求将在Flash对象中进行.
ajax webkit google-chrome developer-tools web-developer-toolbar
在我的主页面中,我添加了一个模板,其中包含用于向电子报添加电子邮件的表单.我希望这个表单能够添加新的电子邮件,而无需在任何地方重定向.我怎么能做到这一点?这是我的代码,当我使用单独的页面时:
观点:
def newsletter_add(request):
if request.POST:
f = NewsletterForm(request.POST)
if f.is_valid():
try:
e = NewsletterEmails.objects.get(email = request.POST['email'])
msg = u'Mail already added'
return render_to_response('newsletter/add.html',
{'form':f,'msg':msg,},RequestContext(request))
except Address.DoesNotExist:
e = NewsletterEmails(email = request.POST['email'])
e.save()
msg = u'Mail added'
return HttpResponseRedirect('/')
else:
f = NewsletterForm()
return render_to_response('newsletter/add.html',{'form':f,},RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
形式:
{% block content %}
<div class="center-right">
<div class="pane profile">
<div class="div-content">
{{ msg }}
<form action="" method="post" enctype="multipart/form-data">
{{form.as_p}}
<input type="submit" class="submit" name="submit" value="Ok" />
</form>
</div>
</div>
</div>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
形式 : …
是否可以在不使用隐藏输入字段的情况下将数据发布到新窗口.数据可能非常大.看看类似于jQuery ajax类型的帖子..除了我需要将数据发布到新页面.
嘿,我怎么能这样做,以便基本上只有一个半透明的颜色覆盖整个页面,除了1 div(这将是一条消息)
基本上,页面加载背景被半透明黑度覆盖,但某个div(在这种情况下为消息框)保持正常.
谢谢
在Windows运行的计算机实验室中使用Java.
System.out.print ("Hello!");
System.out.print ("\b");
Run Code Online (Sandbox Code Playgroud)
打印
你好![]
其中[]是一个框,以表示字体不支持的字符,或者具有无效的ASCII值等.
这是非常原始的东西,并且可以方便地制作看起来很漂亮的终端应用程序,所以请帮帮我:)
前几天我注意到了这个有趣的语法,用于指定Scala类的类型参数.
scala> class X[T, U]
defined class X
scala> new (Int X Int)
res1: X[Int,Int] = X@856447
Run Code Online (Sandbox Code Playgroud)
这种语法有名称吗?它的用例是什么?