通常,activity.getActionBar()返回NullPointerException原因是当前的activity没有ActionBar。从以下几个方面着手: 1....这样activity.getActionBar()能正确返回ActionBar对象。...getSupportActionBar().setDisplayHomeAsUpEnabled(true); 相关资料: http://stackoverflow.com/questions/30681918/nullpointerexception-with-actionbar-setdisplayhomeasupenabledboolean-on-a-nu
但是为何方法InputStream#read()需要返回int类型值呢?...首先,我们要完成一个EOF(End of File)判断,在Java中就是以-1来表示数据读完了,但是如果返回的char类型值,那么根本没有-1这个数值;如果换种方式,返回一个特殊的char值,比如char...中的-1值,那么就占用了此字符,如果字节数据恰好对应-1值,那么就无法被正确读出,且会被错误认为i字节数据读好了,这就是返回int类型值的原因,当然,字节数据被转为int表示,需要高24位布零。...其次,既然只是如上的需求,那么为什么不返回short值呢? 实际上在Java内存模型中,对于short以及int类型值,都是占据32位的内存空间的。...换言之,我们没有在这个应用中返回int/short类型的数据是没有区别的,所以我们不妨就使用代表其实际内存模型的int类型值。
今天在使用数据库的时候,遇到一个场景,即在插入数据完成后需要返回此数据对应的自增主键id,但是在使用Mybatis中的generatedKey且确认各项配置均正确无误的情况下,每次插入成功后,返回的都是...终于凭借着一次Debugg发现的问题,原来在使用Mabatis中的insert或者insertSelective方式插入时,如使用int insert(TestGenKey testGenKey)时,返回值...int表示的是插入操作受影响的行数,而不是指的自增长id,那么返回的自增id到底去哪里了呢?...通过下面的Debugg我们知道自增id返回到testGenKey的原对象中去了。 举例示范配置 数据库示例表 generator的配置文件 <?...sex.trim(); } } 测试及Debugg 编写测试方法测试插入 插入成功后观察对应的变量对应的值 总结:调用Insert后插入操作之后,所得到自增长Id被赋值到原对象当中,而不是返回值
/** * 从内存字节数组中读取图像 * * @param imgBytes * 未解码的图像数据 * @return 返回...imgBytes) throws IOException { if (null == imgBytes || 0 == imgBytes.length) throw new NullPointerException...System.out.printf("format %s,%dx%d\n", suffix, width, height); try { // 解码成功返回...}读取字节数组 * 结束时会关闭{@link InputStream} * {@code in}为{@code null}时抛出{@link NullPointerException...in) throws IOException { if (null == in) throw new NullPointerException("the argument
InputStreamReader介绍 1.构造方法. public InputStreamReader(InputStream in) {} public InputStreamReader(InputStream...(InputStream in, CharsetDecoder dec) {} 与OutputStreamWriter流相对应的四种有参构造方法,根据对应的字符编码方式将数据解码读取....offset,int length)—将流中length个字符读取到字符数组cbuf中,cbuf中从offset位置开始 ready()—流是否准备读取,读取缓冲区不为空或者底层输入流中可读取数据时返回...throw new NullPointerException("charset"); sd = StreamDecoder.forInputStreamReader(in, this,...IOException { return sd.read(cbuf, offset, length); } //流是否准备读取,读取缓冲区不为空或者底层输入流中可读取数据时返回
// 编码前设定编码方式及密钥 cipher.init(Cipher.ENCRYPT_MODE, publicKey); // 传入编码数据并返回编码结果...} /** * 用私钥解密 * * @param encryptedData * 经过encryptedData()加密返回的...catch (InvalidKeySpecException e) { throw new Exception("公钥非法"); } catch (NullPointerException...catch (InvalidKeySpecException e) { throw new Exception("私钥非法"); } catch (NullPointerException...} catch (IOException e) { throw new Exception("私钥数据读取错误"); } catch (NullPointerException
in 实现:public static final InputStream in 介绍:“标准”输入流。...IndexOutOfBoundsException 数组越界异常 ArrayStoreException 源数组类型与目的数组类型匹配错误 dest 目的数组对象 destPos 目的数组对象起始位置 NullPointerException...String 返回系统属性key对应的值,如果没有该属性则返回null Throws NullPointerException 如果key为null IllegalArgumentException...,在Android中总是返回null。...类似方法: void setIn (InputStream in) void setOut (PrintStream out) 作 者:ChanghuiN 原文链接:http://www.hchstudio.cn
input1 = null; InputStream input2 = null; try { input1...Filefile) throws IOException { return readFileToString(file,null); } 把一个文件转换成字节数组返回...public static byte[] readFileToByteArray(Filefile) throws IOException { InputStream...readLines(File file) throws IOException { return readLines(file, null); } 根据对应编码返回对应文件内容的行迭代器...IOUtils.closeQuietly(in); throw ex; } } 根据虚拟机默认编码返回对应文件内容的行迭代器
Java中的 InputStream 和 OutputStream 都是 io 包中面向字节操作的顶级抽象类,关于java同步 io字节流的操作都是基于这两个的。...//实际读取的字节数是以整数形式返回。此方法将阻塞,知道输入数据为止可用,检测到文件结尾,或抛出异常。 //如果b的长度为0,则不读取任何字节,返回0。...read(byte b[], int off, int len) throws IOException { if (b == null) { throw new NullPointerException...//返回实际丢弃的数据长度。...write(byte b[], int off, int len) throws IOException { if (b == null) { throw new NullPointerException
foo.equals(null) 必须返回false,不能抛NullPointerException。(注意,null instanceof 任意类 总是返回false,因此上面的代码可以运行。)...),要么在达到流的末端时返回-1。...参考:java.io.InputStream.read()。...参考: java.io.InputStream.read(byte[])、java.io.InputStream.read(byte[], int, int)。...你可以使用任何类型的InputStream来代替FileInputStream,比如socket。 当达到流的末端时,BufferedReader.readLine()会返回null。
Exception(例外)通常可分为两类,一类是写代码的人造成的,比如访问空指针(NullPointerException)。应当在敲代码的时候进行检查,以杜绝这类异常的发生。...] args) { try { String str = null; String[] strs = str.split(","); } catch (NullPointerException...的对象引用 is 就为 null,新的 NullPointerException 就会出现。...FileInputStream.java:93) at learning.Test.main(Test.java:12) Exception in thread "main" java.lang.NullPointerException...at learning.Test.main(Test.java:28) NullPointerException 并不是程序出现问题的本因,但实际上它出现了,无形当中干扰了我们的视线。
Exception(例外)通常可分为两类,一类是写代码的人造成的,比如访问空指针(NullPointerException)。应当在敲代码的时候进行检查,以杜绝这类异常的发生。...] args) { try { String str = null; String[] strs = str.split(","); } catch (NullPointerException...的对象引用is就为null,新的NullPointerException就会出现。...FileInputStream.java:93) at learning.Test.main(Test.java:12) Exception in thread "main" java.lang.NullPointerException...at learning.Test.main(Test.java:28) NullPointerException 并不是程序出现问题的本因,但实际上它出现了,无形当中干扰了我们的视线。
r.setName("入门小站"); return r.getId()+r.getName(); } } 访问http://127.0.0.1:8080/rumenz/index返回...return id; } public void setId(Integer id) { if (id == null) throw new java.lang.NullPointerException...return name; } public void setName(String name) { if (name == null) throw new java.lang.NullPointerException...r.setName(null); return r.getId()+r.getName(); } 访问http://127.0.0.1:8080/rumenz/index1报错java.lang.NullPointerException...r.setId(1); r.setName("入门小站"); return r.toString(); } 访问http://127.0.0.1:8080/rumenz/index1返回
默认值 如果在尝试获取属性值时属性不存在,getProperty 方法将返回 null。...以下是一些 Properties 的更多用法: 默认属性值: 您可以使用 setProperty 方法设置属性的默认值,以便在未找到属性时返回默认值。这对于确保配置的某些属性始终具有值非常有用。...InputStream inputStream = getClass().getResourceAsStream("/config.properties"); properties.load(inputStream...这意味着 getProperty("example") 和 getProperty("EXAMPLE") 将返回相同的值。...例如,在加载配置文件时,捕获 IOException;在访问属性值时,捕获 NullPointerException 或 ClassCastException,以避免应用程序崩溃。
,该子类需要提供一个返回下一个输入字节的方法。...来看一下此方法的定义 public int read(byte b[], int off, int len) throws IOException { if (b == null) { throw new NullPointerException...此方法会返回跳过的实际字节数。如果 n 是负数,skip 方法总是返回 0,并且不跳过任何字节。...注意,InputStream 的某些实现将返回流中的总字节数,但是许多实现则不会。 如果输入流通过调用 close() 方法关闭后,此方法的子类实现还会抛出 IOException。...InputStream 类的 available 方法总是返回 0 。
如果未找到该属性,则该方法返回默认值参数。 list(PrintStream out) 将此属性列表打印到指定的输出流。此方法对于调试很有用。...此方法返回后,指定的流仍保持打开状态。 setProperty(String key, String value) :调用 Hashtable 的方法 put 。...defaults.getProperty(key) : sval; } super.get(key);就是调用Hashtable中的get()方法,也就是此时返回value,同时这就对应返回了properties...handleGetObject()方法: public Object handleGetObject(String key) { if (key == null) { throw new NullPointerException...如果 baseName 为 null ,则报异常NullPointerException 如果可以找到指定的基没有相应的资源包 ,则报异常MissingResourceException 总结 以上就是我们通常在
如果未找到该属性,则该方法返回默认值参数。 list(PrintStream out) 将此属性列表打印到指定的输出流。此方法对于调试很有用。...此方法返回后,指定的流仍保持打开状态。 setProperty(String key, String value) :调用 Hashtable 的方法 put 。...defaults.getProperty(key) : sval; } super.get(key);就是调用Hashtable中的get()方法,也就是此时返回value,同时这就对应返回了properties...handleGetObject()方法: public Object handleGetObject(String key) { if (key == null) { throw new NullPointerException...如果 baseName 为 null ,则报异常NullPointerException 如果可以找到指定的基没有相应的资源包 ,则报异常MissingResourceException
read(byte b[], int off, int len) throws IOException { if (b == null) { throw new NullPointerException...为了避免这种尴尬又难处理的事情发生,写这个类的大牛把返回值类型定义为int,正常使用时,数据都是处于0-255之间。...也就是说如果你自己有一个字节数组,你想把它模拟成一个InputStream,切记在返回一个字节前判断它是不是小于0,如果小于0,就要加上255再返回,这样才是一个正常的int值。...而在文件读取结束的时候,返回值被定义为-1,切记只有在read()方法中返回值有可能是-1。...write(byte b[], int off, int len) throws IOException { if (b == null) { throw new NullPointerException
领取专属 10元无门槛券
手把手带您无忧上云