我喜欢Java有一个Map,你可以在其中定义地图中每个条目的类型<String, Integer>.
我正在寻找的是一种集合,其中集合中的每个元素都是一对值.对中的每个值都可以有自己的类型(如上面的String和Integer示例),它是在声明时定义的.
该集合将保持其给定的顺序,并且不会将其中一个值视为唯一键(如在地图中).
基本上我希望能够定义类型的ARRAY <String,Integer>或任何其他2种类型.
我意识到我可以创建一个只有2个变量的类,但这看起来过于冗长.
我也意识到我可以使用2D数组,但由于我需要使用不同的类型,我必须使它们成为OBJECT数组,然后我必须一直投射.
我只需要在集合中存储对,所以每个条目只需要两个值.如果没有上课路线,这样的事情会存在吗?谢谢!
我打算玩git,并想知道是否有人使用git插件进行eclipse
我看到它的版本是0.3.1,并且想知道是否有人知道它有多稳定/任何陷阱?
更新:
如果您使用的是最新版本的Eclipse,则"帮助"菜单中会显示"Eclipse Marketplace ..."链接.
在"查找"字段中输入"git".这告诉我EGit.
这在Popular插件列表中也非常高.
单击安装.比手动添加更新站点位置容易得多.
我有一个非常简单的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)
有没有办法做到这一点?谢谢!
我正在阅读优秀的清洁代码
一个讨论是关于将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) 对我来说,我会根据我的经验回答这个问题.
所以,如果我要开始新项目,我会使用以下技术:
当然,您可能需要使用一些辅助框架/库,例如:
在测试方面,我将考虑以下框架:
其他人可以提出其他选择吗?
您认为哪种效率更高?
使用'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) 我有一个带有两个构造函数的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)
...等等.
我正处于重访maven的过程中.当我们上次查看这个时,我们的团队经历了糟糕的经历,因为在maven从1.x重新架构到2.x期间,我们需要的很多依赖项没有被移动到新的存储库中.但是,我现在有时间重新考虑.
我有兴趣使用maven和LaTeX或DocBook来创建文档,我想知道是否有人有任何共享经验,项目/模块结构,使用好的插件等等...
非常感谢 :-)
编辑:
只是为了澄清,我正在寻找一篇技术文章/书,而我想要的工件可能是PDF.
我正在尝试使用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) 我目前正在处理的系统需要一些基于角色的安全性,这在Java EE堆栈中得到了很好的照顾.该系统旨在成为业务领域专家在其上编写代码的框架.
但是,还需要数据security.也就是说,最终用户可以看到哪些信息.
这实际上意味着降低数据库中行(甚至列)的可见性.
我们正在使用Hibernate来实现持久性.但是,我们使用自己的注释,以便不向业务领域专家公开我们的持久性选择.
对于基于行的安全性,这意味着我们可以添加注释,例如@Secured在实体级别,这会导致将额外的列添加到基础表以约束我们的选择?
对于基于列的安全性,我们可能必须@Secured要么协助生成查询,要么使用方面来过滤返回的信息?
我很想知道这对hibernate的缓存机制有何影响?
我相信很多人会有同样的问题,我想知道你是怎么接近这个的?
非常感激...