问题列表 - 第30232页

Java:当方法明确存在时NoSuchMethodException

在我目前的项目中,我觉得有必要使用反射在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)

java reflection

41
推荐指数
3
解决办法
6万
查看次数

将矩形划分为较小的重叠的算法?

将矩形(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)

c algorithm

5
推荐指数
1
解决办法
3833
查看次数

Python:调用方法'直接'实例化对象?

我是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方法吗?我以为它不会,但我有一些奇怪的副作用,所以现在我在想它呢?

python

9
推荐指数
2
解决办法
4243
查看次数

设备驱动程序与驱动程序堆

驱动程序(设备驱动程序)和驱动程序堆栈有什么区别?我一直听到人们在谈论"驱动程序堆栈"但我以前从未真正听说过这个......谢谢!

drivers terminology driver

6
推荐指数
1
解决办法
1788
查看次数

在Chrome开发者工具中查看AJAX响应内容?

传统上我使用FireBug来调试我的AJAX请求.它允许您检查请求的内容以及从服务器发回的响应.(当这些情况发生时,它也会在控制台中通知您,这是Chrome似乎缺乏的有用功能).

在Chrome中,我似乎只能查看请求,而不是响应.当我尝试检查响应时,UI只显示"No Content Available"(开发人员工具>资源> myRequest.php>内容).我是否必须启用某些功能才能让Chrome开发者工具记住这些请求?

编辑:如果重要,这些请求将在Flash对象中进行.

ajax webkit google-chrome developer-tools web-developer-toolbar

50
推荐指数
3
解决办法
7万
查看次数

在Django中提交没有重定向的表单

在我的主页面中,我添加了一个模板,其中包含用于向电子报添加电子邮件的表单.我希望这个表单能够添加新的电子邮件,而无需在任何地方重定向.我怎么能做到这一点?这是我的代码,当我使用单独的页面时:

观点:

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)

形式 : …

django redirect django-templates django-forms

4
推荐指数
1
解决办法
5367
查看次数

将数据发布到新的弹出窗口而不使用隐藏的输入字段

是否可以在不使用隐藏输入字段的情况下将数据发布到新窗口.数据可能非常大.看看类似于jQuery ajax类型的帖子..除了我需要将数据发布到新页面.

ajax jquery popup

4
推荐指数
1
解决办法
2万
查看次数

在页面Jquery上进行透明覆盖

嘿,我怎么能这样做,以便基本上只有一个半透明的颜色覆盖整个页面,除了1 div(这将是一条消息)

基本上,页面加载背景被半透明黑度覆盖,但某个div(在这种情况下为消息框)保持正常.

谢谢

jquery overlay

7
推荐指数
1
解决办法
2万
查看次数

Java中的"\ b" - Windows实现

在Windows运行的计算机实验室中使用Java.

System.out.print ("Hello!");
System.out.print ("\b");
Run Code Online (Sandbox Code Playgroud)

打印

你好![]

其中[]是一个框,以表示字体不支持的字符,或者具有无效的ASCII值等.

这是非常原始的东西,并且可以方便地制作看起来很漂亮的终端应用程序,所以请帮帮我:)

java backspace

4
推荐指数
1
解决办法
2万
查看次数

用于指定类型参数的Scala中缀语法的名称是什么?

前几天我注意到了这个有趣的语法,用于指定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)

这种语法有名称吗?它的用例是什么?

syntax scala

15
推荐指数
2
解决办法
2186
查看次数