小编Jim*_*Jim的帖子

在没有外部库的情况下以更紧凑的方式初始化哈希映射

有没有办法让这个代码更紧凑?没有使用库的线路更少?
我使用的是Java 7

public enum CustomType {
    TYPE_A,
    TYPE_B,
    TYPE_C,
}

private static final Map<Integer, CustomType> typeMappings = new HashMap<>();

static {
    typeMappings.put(513, CustomType.TYPE_A);
    typeMappings.put(520, CustomType.TYPE_A);
    typeMappings.put(528, CustomType.TYPE_A);
    typeMappings.put(530, CustomType.TYPE_A);
    typeMappings.put(532, CustomType.TYPE_A);
    typeMappings.put(501, CustomType.TYPE_B);
    typeMappings.put(519, CustomType.TYPE_B);
    typeMappings.put(529, CustomType.TYPE_B);
}
Run Code Online (Sandbox Code Playgroud)

java

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

我需要使用定义的吗?

这两个之间有什么区别:

print "Undefined\n" unless defined $test;
Run Code Online (Sandbox Code Playgroud)

print "Undefined\n" unless $test;
Run Code Online (Sandbox Code Playgroud)

perl

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

无法在String拆分中获取正则表达式示例

我无法从String splitSUN教程中获得这些示例:

例如 "boo:and:foo"

Regex   Limit   Result  

o   5   { "b", "", ":and:f", "", "" }  
o   -2  { "b", "", ":and:f", "", "" }  
o   0   { "b", "", ":and:f" }  
Run Code Online (Sandbox Code Playgroud)

我无法理解结果.
我读到,对于负限制,模式应用尽可能多次,对于正限制,它应用n-1次等.

但我无法理解在每种情况下如何形成结果数组.

例如,在第一种情况下,为什么我们"中的位置有1" 1,但2""的位置34
其余的相同.

有帮助吗?

java regex string

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

已部署的Web应用程序中数据库更改的最佳实践

我试图找到一个标准方法来解决我遇到的以下问题.
我有一个部署在容器(特别是Tomcat)中的Web应用程序,它使用数据库来实现其功能(在我的情况下,它是一个文件模式的SQL数据库,因此没有后端SQL服务器).

我感兴趣的是当数据库模式发生变化(新表/新列,删除列等)时,在我的Web应用程序的较新版本上处理数据库的各种更改的最佳方法是什么.
即我如何处理升级到我的Web应用程序的新版本的情况,并仍然保留旧数据库中的旧数据(最好的(自动?无缝?少手动?)方式).

我认为这不是一个罕见的案例,所以我相信我可以遵循一些最佳实践.
谁可以帮我这个事?

java database tomcat design-patterns java-ee

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

n-ary和m-way树之间有什么区别吗?

也许这是一个愚蠢的问题,但我有以下困惑:
n-ary treesm-way trees同样的事情?
我在各种帖子中看到关于m-way树和其他n-ary树的讨论,但我不确定这些是相同的数据结构还是用于相同的问题
它们是相同的东西吗?有人可以帮我在脑海中清除这个吗?

algorithm tree data-structures

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

不确定Java中变量的默认初始化

可能重复:
Java中未初始化的变量和成员
为什么本地变量未在Java中初始化?

Java变量中有默认值,对吧?偶数数组也由编译器初始化.
所以我无法理解以下内容:

int c;  
for(int i = 0; i < 10; i++){  
   c = i + 5;  
}  
System.out.println("Result = "+c);  
Run Code Online (Sandbox Code Playgroud)

为什么我会收到编译器错误:

局部变量c可能尚未初始化

编译器默认没有c初始化0
那么为什么我会得到这个错误,为什么如果我明确地做错误就会消失int c = 0

java variables initialization

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

ArrayList的排序复制结构

我有一个ArrayList.
如何List使用相同的数据实例化新的但已排序
我想到了以下几点:

  1. 使用ArrayList复制构造函数,然后使用Collections.sort
  2. 用一个 TreeSet

对于选项(1),存在复制元素然后排序的额外开销.
对于选项(2),将删除重复项.
最好的方法是什么?

java sorting collections list arraylist

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

如何知道提交给执行人的任务是否引发异常?

如果我在a中运行一个线程,有ExecutorService没有办法知道这个线程在开始执行时没有抛出异常?

java multithreading executorservice executor

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

perl脚本的状态从bash脚本运行

据我所知,我们可以$?用来获取我们执行的命令的结果,如果程序员保持约定,它将返回错误的非零结果和成功的0结果.
但是当我们运行perl脚本时呢?
我是perl中的新手,但我认为perl脚本1如果是模块的一部分则会返回,否则它们不会返回任何内容.
那我怎么知道我运行的perl脚本发生了什么?

linux bash shell perl

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

为什么我们需要返回1行的Perl DBI函数?

我正在研究Perl的DBI,我看到了以下方法:
selectrow_array
selectrow_arrayref
selectrow_hashref
所有这些都从结果集中返回1行.所以我不明白它们的用处是什么.他们是做某种替代品LIMIT 1吗?

perl dbi dbix-class

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