我听说哈希(即将字符串或对象转换为数字)用于字符串等,因为它比字符串更容易比较数字.如果是真的,这是什么原因?
我有一个公共构造函数,它接受一个参数(int age)来创建一个对象.我想检查传递的参数是否合法,例如年龄不能为负.如果它是非法的,那么就不要创建对象/实例.如果合法,没问题.
我只能想到一种方法 -
使构造函数私有化.使用参数(int age)创建一个静态方法来执行所有检查,如果传递非法值,则返回null.如果您传递合法值,则创建一个对象并返回其引用.这样做还有其他办法吗?也许来自构造函数本身?
编辑: 我想到了上述方法的一个问题.出于显而易见的原因,工厂方法/对象创建器方法只能是静态方法.如果工厂方法必须访问成员变量(进行一些检查)来创建对象,会发生什么?然后,我们将被迫使该成员变量静态.在所有情况下这可能都不合适.
是否有意义 ?
Java,C,C++等可用于多种类型的计算机甚至移动电话.
但是,Objective-C可以用于除Apple产品之外的任何东西吗?我可以为Windows机器(或Linux)制作一个Objective-C程序,就像我对java一样吗?
我想从 google chrome 或 Firefox 调用 Windows(仅限 7/Vista/XP)应用程序。我正在考虑制作一个插件来做到这一点。我可以查找这里提到的教程如何制作 firefox 或 google Chrome 插件?. 但是,在此之前我想知道是否可以从这些浏览器调用 Windows 应用程序。这样做是否可取?
我想创建java代码,它会刺激鼠标点击Windows操作系统应用程序的任何窗口 - 例如浏览器,单词等.
有人可以建议我如何开始吗?我不知道这需要哪个API.我还需要知道这是否是一项非常复杂的任务,并且需要的不仅仅是Java的核心概念.
提前致谢.
这就是我的方法
public int abc()
{
int x;
if(x > 100)
{
//Say ok
return x;//Causes compiler error
}
//if something more, x = some number
return x;//Causes compiler error
}
Run Code Online (Sandbox Code Playgroud)
我在SO上看到了答案 - Java:"局部变量可能尚未初始化"不够智能?
但是,我仍然不确定为什么会发生这种错误.它是编译器错误而不是警告.所以,问题必须比"采取安全的路线"更严重.