网站seo提升,爱心捐赠网站怎么做,wordpress polling,佛山网站设计平台今天调试程序时#xff0c;在调用Properties类的setProperty(String key, String value)方法时#xff0c;遇到了一个小问题#xff0c;程序运行到该语句时抛出异常#xff0c;提示java.lang.NullPointerException#xff0c;调查了半天#xff0c;发现问题出在调用setPr… 今天调试程序时在调用Properties类的setProperty(String key, String value)方法时遇到了一个小问题程序运行到该语句时抛出异常提示java.lang.NullPointerException调查了半天发现问题出在调用setProperty(String key, String value)时传递给该方法的value参数的值为null由于调用setProperty(String key, String value)方法时它会去调用Hashtable类中的public synchronized Object put(Object key, Object value)方法查看该方法的源代码实现代码的开始处就给出了答案 1public synchronized Object put(Object key, Object value) { 2 // Make sure the value is not null 3 if (value null) { 4 throw new NullPointerException(); 5 } 6 7 // Makes sure the key is not already in the hashtable. 8 Entry tab[] table; 9 int hash key.hashCode();10 int index (hash 0x7FFFFFFF) % tab.length;11 for (Entry e tab[index] ; e ! null ; e e.next) {12 if ((e.hash hash) e.key.equals(key)) {13 Object old e.value;14 e.value value;15 return old;16 }17 }1819 modCount;20 if (count threshold) {21 // Rehash the table if the threshold is exceeded22 rehash();2324 tab table;25 index (hash 0x7FFFFFFF) % tab.length;26 } 2728 // Creates the new entry.29 Entry e new Entry(hash, key, value, tab[index]);30 tab[index] e;31 count;32 return null;33 } 就此问题的根源找到了以后写程序的时候得多注意这些细节。以下附上setProperty(String key, String value)方法的描述 1 Object java.util.Properties.setProperty(String key, String value) 2Calls the Hashtable method put. Provided for parallelism with the getProperty method. Enforces use of strings for property keys and values. The value returned is the result of the Hashtable call to put. 3 4 See Also: 5 getProperty 6 Parameters: 7key: the key to be placed into this property list. 8 value: the value corresponding to key. 9 Returns:10the previous value of the specified key in this property list, or null if it did not have one.11 Since: 1.2 转载于:https://www.cnblogs.com/xxpal/articles/837400.html