今天我正在浏览这个网站上的一些问题,我发现提到了一个enum 单独使用模式的关于这种解决方案所谓的线程安全的好处.
我从来没有使用过enums,而且我已经用Java编程了好几年了.显然他们改变了很多.现在他们甚至在自己内部全力支持OOP.
我有点理解AtomicInteger和其他Atomic变量允许并发访问.在什么情况下这个类通常使用?
您将如何测试一组给定数字的所有可能的添加组合,以便它们加起来给定的最终数字?
例:
我想从Java方法返回两个对象,并想知道这样做的好方法是什么?
我能想到的可能的方法是:返回HashMap(因为这两个对象是相关的),或者返回ArrayList的Object对象.
更确切地说,我想要返回的两个对象是(a)List对象和(b)逗号分隔的对象.
我想从一个方法返回这两个对象,因为我不想遍历对象列表以获取逗号分隔的名称(我可以在此方法的同一循环中执行).
不知何故,返回a HashMap看起来并不是一种非常优雅的方式.
class Dad
{
protected static String me = "dad";
public void printMe()
{
System.out.println(me);
}
}
class Son extends Dad
{
protected static String me = "son";
}
public void doIt()
{
new Son().printMe();
}
Run Code Online (Sandbox Code Playgroud)
功能doIt将打印"爸爸".有没有办法让它打印"儿子"?
我知道这可能非常愚蠢,但很多地方声称Java中的Integer类是不可变的,但是下面的代码:
Integer a=3;
Integer b=3;
a+=b;
System.out.println(a);
Run Code Online (Sandbox Code Playgroud)
给出(预期)结果毫无困难地执行6.因此,a的值有效地改变了.这不意味着Integer是可变的吗?次要问题和一点offtopic:"不可变类不需要复制构造函数".有人在乎解释原因吗?
在决定是否向方法添加throws子句或使用try-catch?时,一般的经验法则是什么?
从我自己阅读的内容来看,throws应该在调用者违反合同结束时使用(传递对象),并且try-catch在方法内执行操作期间发生异常时应该使用.它是否正确?如果是这样,应该在呼叫者方面做些什么?
PS:通过谷歌和搜索引擎优化搜索,但希望得到一个明确的答案.
我搜索过这个但没有明确的答案(特别是关于后者).在什么情况下你应该使用日期时间或时间戳?
在Java应用程序中,使用日期时间和时间戳的混合在MySQL数据库中提取和输入日期信息方面会有什么好处?
java ×7
mysql ×2
timestamp ×2
action ×1
algorithm ×1
atomic ×1
combinations ×1
concurrency ×1
date ×1
datetime ×1
enums ×1
exception ×1
immutability ×1
inheritance ×1
jdbc ×1
modeling ×1
mutable ×1
overriding ×1
permissions ×1
return ×1
search ×1
security ×1
subset-sum ×1
throws ×1
try-catch ×1