是否有任何性能原因在Java中声明方法参数final?
如:
public void foo(int bar) { ... }
Run Code Online (Sandbox Code Playgroud)
与:
public void foo(final int bar) { ... }
Run Code Online (Sandbox Code Playgroud)
假设bar只读取并且从未修改过foo().
非常基本的问题:如何short用C++ 编写文字?
我知道以下内容:
2 是一个 int2U 是一个 unsigned int2L 是一个 long2LL 是一个 long long2.0f 是一个 float2.0 是一个 double'\2'是一个char.但是我怎么写short文字呢?我尝试了,2S但它给出了编译器警告.
可以==在Java中使用枚举,还是需要使用.equals()?在我的测试中,==总是有效,但我不确定我是否能保证这一点.特别是,.clone()枚举上没有方法,所以我不知道是否有可能得到一个枚举,其.equals()返回的值不同于==.
例如,这样就可以了:
public int round(RoundingMode roundingMode) {
if(roundingMode == RoundingMode.HALF_UP) {
//do something
} else if (roundingMode == RoundingMode.HALF_EVEN) {
//do something
}
//etc
}
Run Code Online (Sandbox Code Playgroud)
或者我需要这样写:
public int round(RoundingMode roundingMode) {
if(roundingMode.equals(RoundingMode.HALF_UP)) {
//do something
} else if (roundingMode.equals(RoundingMode.HALF_EVEN)) {
//do something
}
//etc
}
Run Code Online (Sandbox Code Playgroud) 是否有任何充分的理由避免Java中未使用的import语句?据我所知,它们适用于编译器,因此许多未使用的导入不会对编译的代码产生任何影响.它只是为了减少混乱并避免命名冲突吗?
(我问,因为Eclipse给出了一个关于未使用的导入的警告,这在我开发代码时有点烦人,因为我不想删除导入,直到我很确定我已经完成了设计类的操作.)
我的数据是以"密钥"格式组织的,而不是"键值".它就像一个HashMap,但我需要在两个方向上进行O(1)查找.这种类型的数据结构是否有名称,Java标准库中是否包含这样的名称?(或者可能是Apache Commons?)
我可以编写自己的类,基本上使用两个镜像映射,但我宁愿不重新发明轮子(如果这已经存在但我只是没有找到合适的术语).
我正在编写一些Javascript来调整大图像的大小以适应用户的浏览器窗口.(遗憾的是,我无法控制源图像的大小.)
所以类似这样的东西将在HTML中:
<img id="photo"
src="a_really_big_file.jpg"
alt="this is some alt text"
title="this is some title text" />
Run Code Online (Sandbox Code Playgroud)
有没有办法让我确定标签中的src图像img是否已下载?
我需要这个,因为如果$(document).ready()在浏览器加载图像之前执行,我遇到了问题. $("#photo").width()并且$("#photo").height()将返回占位符(alt文本)的大小.在我的情况下,这是像134 x 20.
现在我只是检查照片的高度是否小于150,并假设如果是这样,它只是替代文字.但这是一个非常黑客,如果一张照片的高度低于150像素(在我的特定情况下不太可能),或者如果替代文字高度超过150像素(可能发生在小型浏览器窗口上),它就会破裂.
编辑:对于想要查看代码的任何人:
$(function()
{
var REAL_WIDTH = $("#photo").width();
var REAL_HEIGHT = $("#photo").height();
$(window).resize(adjust_photo_size);
adjust_photo_size();
function adjust_photo_size()
{
if(REAL_HEIGHT < 150)
{
REAL_WIDTH = $("#photo").width();
REAL_HEIGHT = $("#photo").height();
if(REAL_HEIGHT < 150)
{
//image not loaded.. try again in a quarter-second
setTimeout(adjust_photo_size, 250);
return;
}
}
var new_width = . . …Run Code Online (Sandbox Code Playgroud) 我想在Javascript中获得一个对象在页面上的绝对x,y位置.我怎样才能做到这一点?
我试过obj.offsetTop和obj.offsetLeft,但这些只给相对于父元素的位置.我想我可以循环并添加父级的偏移量及其父级的偏移量,依此类推,直到我找到没有父级的对象,但似乎应该有更好的方法.谷歌搜索没有太多,甚至SO网站搜索没有找到任何东西.
另外,我不能使用jQuery.
我有一个Web应用程序,用户需要上传.zip文件.在服务器端,我正在检查上传文件的mime类型,以确保它是application/x-zip-compressed或application/zip.
在Firefox和IE上,这对我来说很好.然而,当一个同事测试它时,它在Firefox上失败了(发送mime类型就像是" application/octet-stream")但是在Internet Explorer上工作.我们的设置似乎是相同的:IE8,FF 3.5.1禁用所有附加组件,Win XP SP3,WinRAR安装为本机.zip文件处理程序(不确定是否相关).
所以我的问题是:浏览器如何确定要发送的mime类型?
请注意:我知道mime类型是由浏览器发送的,因此不可靠.我只是检查它是为了方便 - 主要是为了给出一个比你通过尝试打开非zip文件作为zip文件获得的更友好的错误消息,并避免加载(可能是沉重的)zip文件库.
我想要一些保留自然排序顺序1的字符串比较函数.Java中是否有这样的内容?我在String类中找不到任何内容,而Comparator类只知道两个实现.
我可以自己动手(这不是一个非常难的问题),但如果我不需要,我宁愿不重新发明轮子.
在我的具体情况下,我有我想要排序的软件版本字符串.所以我希望"1.2.10.5"被认为大于"1.2.9.1".
1通过"自然"排序顺序,我的意思是它将字符串与人类比较它们的方式进行比较,而不是"ascii-betical"排序顺序只对程序员有意义.换句话说,"image9.jpg"小于"image10.jpg","album1set2page9photo1.jpg"小于"album1set2page10photo5.jpg","1.2.9.1"小于"1.2.10.5"
我相信javascript可以在任何地方(几乎),但我几乎总是在它之间看到它<head></head>.我正在使用jquery,并想知道它是否由于某种原因必须在head标签中,或者如果我移动它会破坏某些东西.谢谢.
编辑:为什么它几乎总是在头标签?
java ×5
javascript ×3
algorithm ×1
browser ×1
c++ ×1
coding-style ×1
comparator ×1
dom ×1
eclipse ×1
enums ×1
final ×1
forms ×1
hashmap ×1
image ×1
import ×1
jquery ×1
literals ×1
map ×1
mime-types ×1
natural-sort ×1
offset ×1
performance ×1
syntax ×1
webforms ×1