小编Séb*_*rra的帖子

从集合中挑选一个随机元素

如何从集合中选择随机元素?我特别感兴趣的是从Java中的HashSet或LinkedHashSet中选择一个随机元素.也欢迎其他语言的解决方案.

java language-agnostic random algorithm set

170
推荐指数
10
解决办法
18万
查看次数

如何在Python中将文件转换为utf-8?

我需要在Python中将一堆文件转换为utf-8,而我在"转换文件"部分时遇到了麻烦.

我想做相当于:

iconv -t utf-8 $file > converted/$file # this is shell code
Run Code Online (Sandbox Code Playgroud)

谢谢!

python encoding file utf-8

54
推荐指数
6
解决办法
9万
查看次数

如何在Java中以原子方式重命名文件,即使dest文件已存在?

我有一组机器,每个机器都运行一个Java应用程序.

这些Java应用程序需要resource.txt可靠地访问唯一文件.

我需要将temp.txt文件原子地重命名为resource.txtJava,即使resource.txt已经存在.

删除resource.txt和重命名temp.txt不起作用,因为它不是原子的(它创建了一个resource.txt不存在的小时间帧).

它应该是跨平台的......

谢谢 !

java cross-platform file

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

Common Lisp是否有任何高级,易于安装的GUI库?

是否有任何良好的跨平台(至少是SBCL和CLISP)易于安装的GUI库?

lisp user-interface common-lisp

36
推荐指数
3
解决办法
6051
查看次数

寻找延续的"真实"用法的例子

我正在努力掌握延续的概念,我在维基百科的文章中找到了几个像这样的小教学例子:

(define the-continuation #f)

(define (test)
  (let ((i 0))
    ; call/cc calls its first function argument, passing 
    ; a continuation variable representing this point in
    ; the program as the argument to that function. 
    ;
    ; In this case, the function argument assigns that
    ; continuation to the variable the-continuation. 
    ;
    (call/cc (lambda (k) (set! the-continuation k)))
    ;
    ; The next time the-continuation is called, we start here.
    (set! i (+ i 1))
    i))
Run Code Online (Sandbox Code Playgroud)

我理解这个小函数的作用,但是我看不出任何明显的应用.虽然我不希望很快在我的代码中使用延续,但我希望我知道一些它们可能适合的情况.

所以我正在寻找更多有用的代码示例,这些代码示例可以为程序员提供什么延续.

干杯!

ruby language-agnostic scheme continuations smalltalk

21
推荐指数
6
解决办法
2787
查看次数

如何处理compare()中的空字段?

在Java中,我使用的是一些字段可以使用的类null.例如:

class Foo {
    String bar;
    //....
}
Run Code Online (Sandbox Code Playgroud)

我想为这个班写一个BarComparator,

    private static class BarComparator
            implements Comparator<Foo> {
        public int compare( final Foo o1, final Foo o2 )
        {
            // Implementation goes here
        }
    }
Run Code Online (Sandbox Code Playgroud)

是否有应对的事实,任何的标准方式o1,o2,o1.bar,o2.barnull,而无需编写大量的嵌套if...... else

干杯!

java comparison null

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

寻找HQL构建器(Hibernate查询语言)

我正在寻找Java中的HQL构建器.我想摆脱像这样的事情:

StringBuilder builder = new StringBuilder()
    .append("select stock from ")
    .append( Stock.class.getName() )
    .append( " as stock where stock.id = ")
    .append( id );
Run Code Online (Sandbox Code Playgroud)

我宁愿有类似的东西:

HqlBuilder builder = new HqlBuilder()
    .select( "stock" )
    .from( Stock.class.getName() ).as( "stock" )
    .where( "stock.id" ).equals( id );
Run Code Online (Sandbox Code Playgroud)

我google了一下,我找不到一个.

我写了一个快速和愚蠢的东西HqlBuilder,适合我现在的需求,但我很想找到一个比我更多的用户和测试.

注意:我希望能够做到这样的事情以及更多,我没有使用Criteria API:

select stock
from com.something.Stock as stock, com.something.Bonus as bonus
where stock.someValue = bonus.id
Run Code Online (Sandbox Code Playgroud)

即.从Bonus表中选择所有属性someValue指向任何奖金的股票.

谢谢!

java hibernate hql

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

你会如何在SQL脚本中强制执行DRY(不要重复自己)?

我正在使用包含一些更新的脚本来更改数据库(oracle),如下所示:

UPDATE customer
SET status = REPLACE(status,   'X_Y',   'xy')
WHERE status LIKE '%X_Y%'
 AND category_id IN
  (SELECT id
   FROM category
   WHERE code = 'ABC');

UPDATE customer
SET status = REPLACE(status,   'X_Z',   'xz')
WHERE status LIKE '%X_Z%'
 AND category_id IN
  (SELECT id
   FROM category
   WHERE code = 'ABC');

-- More updates looking the same...
Run Code Online (Sandbox Code Playgroud)

在这种情况下,你将如何强制干(不要重复自己)?

我特别感兴趣的是解决以下两个反复出现的问题:

  • 定义仅从此脚本可用的函数,以提取子查询 SELECT id FROM category WHERE code = 'ABC'

  • 创建一组替换规则(可能看起来像{"X_Y": "yx", "X_Z": "xz", ...}一种流行的编程语言),然后在其上迭代单个更新查询.

谢谢!

sql oracle dry

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

如何知道在 Spring 2.0 Controller 方法中的当前 servlet 上下文中映射了哪些 URL?

在 Spring 2.0 中,是否有一种快速方法可以从 Controller 方法内部获得当前 servlet 上下文的映射 URL 列表?

我正在编写一个名为 的方法getMappedUrls(),该方法的目的是显示在当前 servlet 上下文中映射了哪些 url。

此方法用于生成可用服务的小型在线文档。

谢谢!

[编辑]

Kent Lai 的回答对我有用:

final Map<Object, AbstractUrlHandlerMapping> beans =
    getApplicationContext().getBeansOfType(AbstractUrlHandlerMapping.class);
for (final AbstractUrlHandlerMapping bean : beans.values())
{
    final Map<String, Object> mapping = bean.getHandlerMap();
    for(final String url : mapping.keySet())
        urls.add(url);
}
Run Code Online (Sandbox Code Playgroud)

java spring servlets

3
推荐指数
1
解决办法
3143
查看次数

知道Java中两个Map <Long,Integer>之间是否存在至少一个差异的可读方式?

我有两个Map <Long,Integer>类型的映射,一个名为"oldValues"的表示对象的旧状态,另一个名为"newValues",表示同一对象的新状态.

是否有一种简单易读的方式来了解旧状态和新状态是否不同(即状态是否发生变化)?

理想情况下,我想要一些"java.utils"或"Apache Commons"库函数,如:

hasChanged = !MapUtils.diff(oldValues, newValues).isEmpty();
Run Code Online (Sandbox Code Playgroud)

注意:我找了,但没找到.

谢谢.

java collections

0
推荐指数
1
解决办法
126
查看次数