很久以前,当我发现W3C Validator时,我确保我制作的每个HTML文档都是有效的HTML.
但是,我认为有时候没有必要浪费时间使其有效.当然,对于实际的互联网页面可能很重要,但是当HTML页面在最常用的浏览器中正确呈现时,在Intranet上制作页面,甚至在与其他程序一起使用的前端很少(不一定计算IE 6和7).
我认为我主要讨论的是对代码的一些改进,例如将页面的每个显示元素包装起来<p>或<div>标记.
我正在尝试验证 java 中 BigDecimal 数据类型的 NULL。我能够验证 0 值,但是 NULL 会导致NULL Point Exception。我应该在异常中处理此数据类型的验证,还是可以对数据执行一些计算来验证它。下面是我迄今为止所做的一个示例:
if(crime.getCrimeLatLocation() != null & crime.getCrimeLongLocation() != null || crime.getCrimeLatLocation().compareTo(BigDecimal.ZERO) != 0 & crime.getCrimeLongLocation().compareTo(BigDecimal.ZERO) != 0){
logger.info('Valid Data');
}
Run Code Online (Sandbox Code Playgroud) 创建tempFile时,有没有办法控制附加到文件名的随机数字?例如.如果我写File.createTempFile("abc",".pdf"),它会创建一个名字的文件abc12323543121.pdf.可以附加时间戳而不是这些数字吗?我需要这个,因为对于我创建的每个文件,我需要将时间戳附加到文件,这使得文件名很长.因此,如果我只能使用时间戳,而不是随机生成的数字,那将非常棒.
我刚读过Effective Java,该equals()方法的第五个原则是所有对象必须不相等null.本书接着说,程序员编写的一些类使用明确的测试来防范这种情况null:
public boolean equals(Object o){
if (o == null)
return false;
...
}
Run Code Online (Sandbox Code Playgroud)
根据Effective Java,上面的非空测试是不必要的.但是,我的问题是,为什么那么多程序员会测试这种非无效性要求呢?
我想知道之间的差异char *和string.例如在这段代码中:
char *a;
string b;
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
具有public变量的类在Encapsulation中被认为是弱的并且它是不是一个糟糕的设计实践?
如果是这种情况下,为什么java.awt.Dimension有2个公共变量width和height?
我需要检查返回的列表是否创建过一次,或者它是否是对象的副本.有可能找到它的地址吗?
// thread 1
List<Object> list = supplier.get();
System.out.print("list: " + list + "@" + getAddress(list));
// thread 2
List<Object> list = supplier.get();
System.out.print("list: " + list + "@" + getAddress(list));
Run Code Online (Sandbox Code Playgroud)
怎么会getAddress(list)这样?问题是hashCode()通常返回地址的问题被覆盖AbstractList,因此它将返回有效的哈希码而不是地址.
我想使用集合类来添加,删除和检索多个线程中的对象.
Collections.synchronizedList并且Vector这两个类都是线程安全的.有哪位告诉我之间的区别Collections.synchronizedList,并Vector解释说,我什么时候应该使用与Vector和Collections.synchronizedList?
我上课了AbstractsAndInterfaces:
public static AbstractsAndInterfaces instance = new AbstractsAndInterfaces();
private static final int DELTA = 5;
private static int BASE = 7;
private int x;
public AbstractsAndInterfaces()
{
//System.out.println(BASE);
//System.out.println(DELTA);
x = BASE + DELTA;
}
public static int getBASE()
{
return BASE;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
System.out.println(AbstractsAndInterfaces.instance.x);
}
Run Code Online (Sandbox Code Playgroud)
为什么打印5?
为什么BASE变量未初始化?
我在SO和Google上搜索了这个问题的答案,但到目前为止找不到合适的解决方案.
我目前正在处理图形路由问题中的LayerManager.经理负责提供和重置固定的图层集.
我想用阻塞列表实现Consumer-Producer模式,以便在没有可用的自由层的情况下阻止传入路由请求.到目前为止,我只发现了阻塞队列,但由于我们不需要FIFO,LIFO但随机访问队列并不真正起作用.为了更精确一点,这样的事情应该是可能的:
/* this should be blocking until a layer becomes available */
public Layer getLayer(){
for ( Layer layer : layers ) {
if ( layer.isUnused() && layer.matches(request) )
return layers.pop(layer);
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法实现这个目标?
java ×8
awt ×1
bigdecimal ×1
blocking ×1
c++ ×1
char ×1
collections ×1
file ×1
html ×1
list ×1
null ×1
string ×1
validation ×1