Tag: 初始化

静态初始化程序块和常规静态初始化之间的区别

正如标题所说,究竟是什么区别 public static String myString = “Hello World!”; 和 public static String myString; static { myString = “Hello World”; } 除了结构之外还有什么重要的区别吗?

你能在if子句中存储一个变量吗?

我有点等待这个问题的’不’回答。 我感兴趣的是,如果在if子句中检查变量,可以同时保存变量。 假设我有这个代码。 if(foo!=null){ if(foo.getBar()!=null){ Bar bar = foo.getBar(); System.out.println(“Success: ” + bar); } else { System.out.println(“Failure.”); } } else { System.out.println(“Failure.”); } 我现在处理“失败”状态 – 即使结果是相同的,也是独立的。 我可以这样把他们聚在一起: if(foo!=null && foo.getBar()!=null){ Bar bar = foo.getBar(); System.out.println(“Success: ” + bar); } else { System.out.println(“Failure.”); } 已经有更简洁的代码了。 如果foo为null,它将停在那里并且不会尝试foo.getBar(在if中)所以我不会得到NPE。 我想要提升的最后一件事,以及主要问题:我是否真的两次打电话给foo.getBar()? 如果getBar()将是一个非常繁重的操作,那么离开第二个相同的调用会很好。 所以我想知道是否有可能做一些与此类似的事情: if(foo!=null && (Bar bar = foo.getBar())!=null){ Bar […]

非初始化和初始化为null之间有什么区别?

我有这个代码: MyClass object; …. some code here where object may or may not be initialised… if (object.getId > 0) { …. } 这导致编译错误: object可能尚未初始化,这是公平的。 现在我将我的代码更改为: MyClass object; …. some conditional code here where object may or may not be initialised… if (object != null && object.getId > 0) { …. } 我得到相同的编译错误! 我必须将object初始化为null: MyClass object […]

在Jersey webapp启动时初始化数据库

我读过这个,但我不太明白它是如何工作的。 我想在我的Web应用程序启动时加载属性文件并设置我的连接池。 显然我只想在一个地方做一次,所以如果需要我可以改变它。 使用常规servlet,我只需将初始化代码放在servlet的init()方法中,但是您无法使用Jersey servlet访问它。 那我该怎么办? 上面链接中的听众如何工作?

静态初始化程序的代码超出了java中的65535字节限制错误?

嗨,我正在尝试初始化长度为10,100,1000,10000的4个字符串数组,这些数组就像 array1={“0″,”1″,…”9”} array2={“00″,”01″,…”99”} array3={“000″,”001″,…”999”} array4={“0000″,”0001″,…”9999”} 但我得到的错误静态初始化程序的代码超过65535字节限制 如何初始化我的数组? 另请注意,从文件加载它不是我的选项:(

Java中的静态初始化器和静态方法

在Java中调用类上的静态方法是否会触发静态初始化块来执行? 根据经验,我会说不。 我有这样的事情: public class Country { static { init(); List countries = DataSource.read(…); // get from a DAO addCountries(countries); } private static Map allCountries = null; private static void init() { allCountries = new HashMap(); } private static void addCountries(List countries) { for (Country country : countries) { if ((country.getISO() != null) && (country.getISO().length() […]

初始化ArrayList数组

如何初始化ArrayList Array ? 我尝试了这种语法,但它不起作用: ArrayList[] subsection = new ArrayList[4];

初始化接口?

在我遇到的一个当前问题中( 用Java打印文件到物理打印机 )我一直在运行代码,就像疯子一样,试图从所使用的每个类的javad中吞噬任何有用的遗漏信息。 现在,我从以前的问题中提取了相当多的代码,所以有一点我没有写自己。 我注意到的问题是我抓到的代码是初始化一个对象,比如说是“SimpleDoc”,它实现了一个接口(Doc)并将它分配给那个接口?! Little Code片段: Doc mydoc = new SimpleDoc(textStream, flavor, null); 现在,据我所知,我们在java中创建对象。 我熟悉inheritance,我熟悉使用接口允许类“inheritance”多个超类的技巧。 但这并不是正确的。 你可以创建一个实现接口的类,这对我很好。 但是,当创建一个接口并将一个对象简化为其接口时,这里发生了什么? 当我完全引用mydoc时我访问了什么?

Java – 初始化HashMaps的HashMap

我是java的新手,通过创建一个简单的NaiveBayes分类器来练习。 我仍然是对象实例化的新手,并想知道如何初始化HashMaps的HashMap。 在将新观察值插入分类器时,我可以为给定类中的未见特征名创建新的HashMap,但是我是否需要初始化? import java.util.HashMap; public class NaiveBayes { private HashMap class_counts; private HashMap<String, HashMap> class_feature_counts; public NaiveBayes() { class_counts = new HashMap(); // do I need to initialize class_feature_counts? } public void insert() { // todo // I think I can create new hashmaps on the fly here for class_feature_counts } public String classify() […]

字段初始化中未处理的exception

Java是否有任何语法来管理在声明和初始化类的成员变量时可能抛出的exception? public class MyClass { // Doesn’t compile because constructor can throw IOException private static MyFileWriter x = new MyFileWriter(“foo.txt”); … } 或者这些初始化总是必须转移到一个方法,我们可以声明throws IOException或将初始化包装在try-catch块中?