小编too*_*kit的帖子

价值对的Java集合?(元组?)

我喜欢Java有一个Map,你可以在其中定义地图中每个条目的类型<String, Integer>.

我正在寻找的是一种集合,其中集合中的每个元素都是一对值.对中的每个值都可以有自己的类型(如上面的String和Integer示例),它是在声明时定义的.

该集合将保持其给定的顺序,并且不会将其中一个值视为唯一键(如在地图中).

基本上我希望能够定义类型的ARRAY <String,Integer>或任何其他2种类型.

我意识到我可以创建一个只有2个变量的类,但这看起来过于冗长.

我也意识到我可以使用2D数组,但由于我需要使用不同的类型,我必须使它们成为OBJECT数组,然后我必须一直投射.

我只需要在集合中存储对,所以每个条目只需要两个值.如果没有上课路线,这样的事情会存在吗?谢谢!

java

326
推荐指数
14
解决办法
47万
查看次数

eclipse的git插件有多稳定?

我打算玩git,并想知道是否有人使用git插件进行eclipse

我看到它的版本是0.3.1,并且想知道是否有人知道它有多稳定/任何陷阱?


更新:

如果您使用的是最新版本的Eclipse,则"帮助"菜单中会显示"Eclipse Marketplace ..."链接.

在"查找"字段中输入"git".这告诉我EGit.

这在Popular插件列表中也非常高.

单击安装.比手动添加更新站点位置容易得多.

eclipse git version-control

166
推荐指数
7
解决办法
13万
查看次数

shell脚本的详细输出

我有一个非常简单的shell脚本,如下所示:

clear

for i in -20 -19 -18 -17 -16 -15 -14 ... 18 19  
do  
echo "Nice value is $i"  
nice -n $i ./app1   
done  
Run Code Online (Sandbox Code Playgroud)

基本上,我想运行一个应用程序,其中所有不同的优先级值介于-20和19之间.但是,执行此脚本时,它看起来如下所示:

Nice value is -20  
15916233  
Nice value is -19  
5782142  
....  
Nice value is 19  
5731287  
Run Code Online (Sandbox Code Playgroud)

但我想要一些详细的输出,也就是在终端上打印命令,使它看起来像这样

Nice value is -20  
nice -n -20 ./app1    
15916233  
Nice value is -19  
nice -n -19 ./app1   
5782142  
....  
Nice value is 19  
nice -n 19 ./app1   
5731287  
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?谢谢!

linux shell

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

将null传递给方法

我正在阅读优秀的清洁代码

一个讨论是关于将null传递给方法.

public class MetricsCalculator {
    public double xProjection(Point p1, Point p2) {
        return (p2.x - p1.x) * 1.5;
    }
}
...
calculator.xProjection(null, new Point(12,13));
Run Code Online (Sandbox Code Playgroud)

它代表了处理这个问题的不同方法:

public double xProjection(Point p1, Point p2) {
    if (p1 == null || p2 == null) {
        throw new IllegalArgumentException("Invalid argument for xProjection");
    }
    return (p2.x - p1.x) * 1.5;
}

public double xProjection(Point p1, Point p2) {
    assert p1 != null : "p1 should not be null";
    assert p2 != null : "p2 …
Run Code Online (Sandbox Code Playgroud)

java null assert

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

什么是最常用的Java框架?

对我来说,我会根据我的经验回答这个问题.

所以,如果我要开始新项目,我会使用以下技术:

  1. AndroMDA作为MDA框架.
  2. 弹簧(DI,拦截器,石英,ACEGI,......等).
  3. 休眠.
  4. JSF.

当然,您可能需要使用一些辅助框架/库,例如:

  1. 速度.
  2. CAS; 如果你需要SSO.
  3. JXLS; 如果您需要使用XLS模板生成Excel文件的小而简单的库.
  4. Drools的; 这是人工智能规则引擎,它使用基于规则的方法来实现专家系统,并且更准确地归类为生产规则系统.

在测试方面,我将考虑以下框架:

  1. TestNG的; 您可能希望在单元测试部分使用JUnit,但TestNG不仅仅是一个统一的测试框架;
  2. WATIR或SELENIUM作为网络测试;

其他人可以提出其他选择吗?

java frameworks

13
推荐指数
1
解决办法
9213
查看次数

Java Enum valueOf效率

您认为哪种效率更高?

使用'WeekDay'只是一个例子:

public enum WeekDay {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY;
}
Run Code Online (Sandbox Code Playgroud)

循环并首先验证日期字符串:

public void parseString(String line) {
    String[] tokens = line.split();
    String day = tokens[1]; // day 'should' always be a weekday
    if (isValidWeekDay(day)) {
        WeekDay weekDay = WeekDay.valueOf(day); // won't throw exception
        ...
    } else {
        throw new InvalidWeekDayException(day); // subclass of RuntimeException
    }
}
private boolean isValidWeekDay(String day) {
    for (WeekDay weekDay : WeekDay.values()) {
        if(weekDay.toString().equals(day))
           return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

或者因为在99.99%的情况下,一天是正确的:

public void parseString(String line) …
Run Code Online (Sandbox Code Playgroud)

java enums

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

具有相同参数类型的构造函数

我有一个带有两个构造函数的Person对象 - 一个接受一个int(personId),另一个接受一个字符串(logonName).我想要另一个带字符串的构造函数(badgeNumber).我知道这不可能做到,但似乎这可能是一种常见的情况.有一种优雅的方式处理这个?我想这适用于任何重载方法.码:

public class Person
{
    public Person() {}

    public Person(int personId)
    {
        this.Load(personId);
    }

    public Person(string logonName)
    {
        this.Load(logonName);
    }

    public Person(string badgeNumber)
    {
        //load logic here...
    }
Run Code Online (Sandbox Code Playgroud)

...等等.

.net c# oop

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

使用maven创建文档

我正处于重访maven的过程中.当我们上次查看这个时,我们的团队经历了糟糕的经历,因为在maven从1.x重新架构到2.x期间,我们需要的很多依赖项没有被移动到新的存储库中.但是,我现在有时间重新考虑.

我有兴趣使用maven和LaTeX或DocBook来创建文档,我想知道是否有人有任何共享经验,项目/模块结构,使用好的插件等等...

非常感谢 :-)

编辑:

只是为了澄清,我正在寻找一篇技术文章/书,而我想要的工件可能是PDF.

latex maven-2 docbook maven-pdf-plugin

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

clojure宏 - 不知道如何创建ISeq:clojure.lang.Symbol

我正在尝试使用clojure宏,并想知道我可能做错了什么?

我有一个简单的例子,试图根据地图动态创建函数.

例如:

(def units {:cm 100
            :mm 1000
            :m  1
            :km 1/1000})

(defn m-to-unit-helper [[k v]]
  (let [f (symbol (str "to-" (name k)))]
    `(defn ~f [m#] (* ~v m#))))

(defmacro m-to-units [units-map]
  (let [funcs (map m-to-unit-helper units-map)]
    `(do ~@funcs)))

; complains with: Don't know how to create ISeq from: clojure.lang.Symbol
(m-to-units units)

; To try and debug
(defn debug [units-map]
  (let [funcs (map m-to-unit-helper units-map)]
    (clojure.pprint/pprint `(do ~@funcs))))

; see below
(debug units)
Run Code Online (Sandbox Code Playgroud)

宏不起作用,但调试输出看起来应该创建正确的结构:

(do
 (clojure.core/defn
  to-mm
  [m__32709__auto__]
  (clojure.core/* …
Run Code Online (Sandbox Code Playgroud)

macros clojure

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

使用java和hibernate进行数据"安全性"

我目前正在处理的系统需要一些基于角色的安全性,这在Java EE堆栈中得到了很好的照顾.该系统旨在成为业务领域专家在其上编写代码的框架.

但是,还需要数据security.也就是说,最终用户可以看到哪些信息.

这实际上意味着降低数据库中行(甚至列)的可见性.

我们正在使用Hibernate来实现持久性.但是,我们使用自己的注释,以便不向业务领域专家公开我们的持久性选择.

对于基于行的安全性,这意味着我们可以添加注释,例如@Secured在实体级别,这会导致将额外的列添加到基础表以约束我们的选择?

对于基于列的安全性,我们可能必须@Secured要么协助生成查询,要么使用方面来过滤返回的信息?

我很想知道这对hibernate的缓存机制有何影响?

我相信很多人会有同样的问题,我想知道你是怎么接近这个的?

非常感激...

java security hibernate java-ee

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