问题列表 - 第21597页

Java:无法通过反射访问注释

这是一个测试类:

import java.lang.annotation.Annotation;
import java.lang.reflect.Method;

public class TestAnnotations {

    @interface Annotate{}

    @Annotate public void myMethod(){}

    public static void main(String[] args) {
        try{
            Method[] methods = TestAnnotations.class.getDeclaredMethods();
            Method m = methods[1];
            assert m.getName().equals("myMethod");

            System.out.println("method inspected ? " + m.getName());
            Annotation a = m.getAnnotation(Annotate.class);
            System.out.println("annotation ? " + a);
            System.out.println("annotations length ? "
                + m.getDeclaredAnnotations().length);
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的输出:

method inspected ? myMethod
annotation : null
annotations length : 0
Run Code Online (Sandbox Code Playgroud)

我错过了通过反思使注释可见?
我是否需要一个注释处理器,即使只是检查它们的存在?

java reflection annotations

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

jQuery datepicker验证消息问题

我正在使用http://plugins.jquery.com/project/datepick上的jquery datepicker插件和datepicker验证插件.

<script id="frmValidation" type="text/javascript">

$(document).ready(function(){
    var validator = $("#frmTest").validate({
        rules:{
            fname: "required",
            dobPicker: "required" 
        },
        messages:{
            fname: "Please enter a name",
            dobPicker: "Select a date"
        },

    });
    $('#dobPicker').datepick();
    $.datepick.setDefaults({showOn: 'both', dateFormat: 'dd-mm-yy', yearRange:'1900:2010'});
});
</script>
Run Code Online (Sandbox Code Playgroud)

文件正文如下:

<form id="frmTest" action="" method="post">
<div id="error-list"></div>
<div class="form-row">
<span class="label"><label for="fname">Name</label></span>
<input type="text" name="fname" />
</div>
<div class="form-row">
<span class="label"><label for="dobPicker">DOB</label></span>
<input type="text" id="dobPicker" name="dobPicker" style="margin-left: 4px;"/>
</div>
<div class="form-row">
<input type="submit" name="submit" value="submit"/>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)

表单第一次验证,但是日期选择器的错误消息不会立即消失,但是如果第二次选择日期,它就会消失.任何帮助,使其第一次选择日期,将不胜感激

jquery jquery-validate jquery-ui-datepicker

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

格式化字母数字字符串

我有一个包含16个字母数字字符的字符串,例如F4194E7CC775F003.我想将其格式化为F419-4E7C-C775-F003.

我试过用

string.Format("{0:####-####-####-####}","F4194E7CC775F003");
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为它不是数值.

所以我想出了以下内容:

public class DashFormatter : IFormatProvider, ICustomFormatter
{
  public object GetFormat(Type formatType)
  {
    return this;
  }

  public string Format(string format, object arg, IFormatProvider formatProvider)
  {
    char[] chars = arg.ToString().ToCharArray();
    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < chars.Length; i++)
    {
      if (i > 0 && i % 4 == 0)
      {
        sb.Append('-');
      }

      sb.Append(chars[i]);
    }

    return sb.ToString();
  }
}
Run Code Online (Sandbox Code Playgroud)

并通过使用

string.Format(new DashFormatter(), "{0}", "F4194E7CC775F003");
Run Code Online (Sandbox Code Playgroud)

我能够解决问题,但是我希望有更好/更简单的方法来解决它?也许一些LINQ魔术?

谢谢.

c# string formatting

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

从红宝石中的独家Range获得最大价值的最快方法

好吧,所以说你在红宝石中有一个非常大的范围.我想找到一种方法来获得范围中的最大值.

范围是独占的(由三个点定义),这意味着它不包括结果中的结束对象.它可以由整数,字符串,时间,还是真的是响应任何物体#<=>#succ.(这是Range中开始/结束对象的唯一要求)

以下是独家范围的示例:

  past  = Time.local(2010, 1, 1, 0, 0, 0)
  now   = Time.now
  range = past...now

  range.include?(now)  # => false
Run Code Online (Sandbox Code Playgroud)

现在我知道我可以做这样的事情来获得最大值:

  range.max  # => returns 1 second before "now" using Enumerable#max
Run Code Online (Sandbox Code Playgroud)

但这需要花费很多时间来执行.我也知道我可以从最终对象中减去1秒.但是,该对象可能不是Time,甚至可能不支持#-.我更愿意找到一个有效的通用解决方案,但我愿意将特殊案例代码与一般解决方案的后备结合起来(稍后会详细介绍).

如上所述,使用Range#last也不起作用,因为它是一个独占范围,并且不包括其结果中的最后一个值.

我能想到的最快的方法是:

  max = nil
  range.each { |value| max = value }

  # max now contains nil if the range is empty, or the max value
Run Code Online (Sandbox Code Playgroud)

这类似于Enumerable#max(Range继承),除了它利用每个值将大于前一个的事实,因此我们可以跳过使用#<=>来比较每个值与前一个(方式Range#max)保存一个一点点时间.

我正在考虑的另一种方法是为常见的ruby类型(如Integer,String,Time,Date,DateTime)提供特殊的案例代码,然后使用上面的代码作为后备.它有点难看,但是当遇到这些对象类型时可能效率更高,因为我可以使用减法Range#last来获得最大值而无需任何迭代.

任何人都可以想到比这更有效/更快的方法吗?

ruby optimization performance range

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

如何在Vim中的html标签之间粘贴一些东西?

按下p当前行dit旁边的东西,删除html标签内的东西.如何在html标签内粘贴一些东西?

    Nor here
<p>I want to paste something here</p>
    Not here
Run Code Online (Sandbox Code Playgroud)

vim

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

覆盖jQueryUI对话框的默认选项

我希望能够创建模态对话框,例如

close: function() {
    $(this).remove();
}
Run Code Online (Sandbox Code Playgroud)

默认选项,无需在对话框创建时指定,但以某种方式在一个地方覆盖这些参数.

这可能吗?

jquery-ui jquery-dialog

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

Python:更新字典中的值

我有以下字典 - >

key : (time,edge_list)
Run Code Online (Sandbox Code Playgroud)

现在我想将所有时间值增加1.我该怎么做?

dict_list = dict(key:(time+1,edge_list) for key:(time,edge_list) in dict_list)
Run Code Online (Sandbox Code Playgroud)

python

3
推荐指数
2
解决办法
6670
查看次数

如何通过CRON运行CodeIgniter文件?

我过去尝试过以下方法:

<?php
set_time_limit(0);
$_SERVER['PATH_INFO'] = 'cron/controller/index';
$_SERVER['REQUEST_URI'] = 'cron/controller/index';
require_once('index.php');
?>
Run Code Online (Sandbox Code Playgroud)

并将其放在codeigniter安装目录中的一个文件中,将其命名为cron.php,然后通过以下方式调用它:

php /home/[username]/public_html/my_project/cron.php
Run Code Online (Sandbox Code Playgroud)

如果我在浏览器中输入cron.php的URL,它可以正常工作,但无论何时通过CRON运行我都会收到404错误.将以下代码放在show_404()CodeIgniter 的函数中

function show_404($page = '')
{
   print_r($_SERVER);
   echo "\n\n";
   die ($page);
}
Run Code Online (Sandbox Code Playgroud)

导致以下输出通过电子邮件发送给我:

Array
(
   [SHELL] => /bin/sh
   [MAILTO] => me@gmail.com
   [USER] => [me]
   [PATH] => /usr/bin:/bin
   [PWD] => /home/[me]
   [SHLVL] => 1
   [HOME] => /home/[me]
   [LOGNAME] => [me]
   [_] => /usr/bin/php
   [PHP_SELF] =>
   [REQUEST_TIME] => 1266479641
   [argv] => Array
       (
           [0] => /home/[me]/public_html/my_project/cron.php
       )

   [argc] => 1
   [PATH_INFO] => cron/controller/index
   [REQUEST_URI] => …
Run Code Online (Sandbox Code Playgroud)

php cron codeigniter

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

在Oracle SQL开发人员中查找数据库大小

在phpmyadmin中,它可以看到数据库磁盘使用情况.我想知道Oracle SQL开发人员是否有这样的事情.谢谢!

oracle oracle-sqldeveloper

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

在没有php.ini文件的情况下启用短打开标记

我可以启用PHP短标签而无需触及任何配置文件吗?

php php-shorttags

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