
java 常见问题
@Ning_Jia
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
字节流和字符流的区别
字符流只能操作纯文本文件,但是字节流可以操作包括纯文本,mp3,图片,视频等文件原创 2022-06-05 22:55:43 · 571 阅读 · 0 评论 -
字节流如何转为字符流
字节输入流转字符输入流通过 InputStreamReader 实现,该类的构造函数可以传入 InputStream 对象。字节输出流转字符输出流通过OutputStreamWriter 实现,该类的构造函数可以传入 OutputStream 对象。原创 2022-06-04 15:12:43 · 1037 阅读 · 0 评论 -
Java 中有几种类型的流
按照流的方向:输入流(inputStream)和输出流(outputStream)。按照实现功能分:节点流(可以从或向一个特定的地方(节点)读写数据。如 FileReader)和处理流(是对一个 已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如 BufferedReader。处理流的构造方法总是要 带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。)按照处理数据的单位: 字节流和字符流。字节流继承于 InputStream 和 OutputStream, 字符流继承于原创 2022-06-04 15:10:14 · 2039 阅读 · 0 评论 -
数据类型之间的转换
调用基本数据类型对应的包装类中的方法 parseXXX(String)或 valueOf(String)即可返回相应基本类型。一种方法是将基本数据类型与空字符串(“”)连接(+)即可获得其所对应的字符串;另一种方法是调用 String 类中的 valueOf()方法返回相应字符串。...原创 2022-06-04 15:07:15 · 163 阅读 · 0 评论 -
String、StringBuffer、StringBuilder 的区别?
String:字符串常量,在修改时不会改变自身;若修改,等于重新生成新的字符串对象。 StringBuffer:在修改时会改变对象自身,每次操作都是对 StringBuffer 对象本身进行修改,不是生成新的对 象;使用场景:对字符串经常改变情况下,主要方法:append(),insert()等。String:对象定义后不可变,线程安全。 StringBuffer:是线程安全的(对调用方法加入同步锁),执行效率较慢,适用于多线程下操作字符串缓冲区大 量数据。 StringBuilder:是线程不安全的,适用原创 2022-06-04 15:05:44 · 112 阅读 · 0 评论 -
String 类常用方法
length()返回字符串长度原创 2022-06-04 15:03:13 · 98 阅读 · 0 评论 -
Java中的原始类型及对应的包装类型
- 原始类型: boolean,char,byte,short,int,long,float,double- 包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double原创 2022-06-04 15:00:15 · 149 阅读 · 0 评论 -
int 和 和 Integer 有什么区别?
Java 是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,为了能够将这些基本 数据类型当成对象操作,Java 为每一个基本数据类型都引入了对应的包装类型(wrapper class),int 的包装类就是 Integer,从 Java 5 开始引入了自动装箱/拆箱机制,使得二者可以相互转换。...原创 2022-06-04 14:58:24 · 109 阅读 · 0 评论 -
short s1 = 1; s1 = s1 + 1; 有错吗?short s1 = 1; s1 += 1 有错吗?
前者不正确,后者正确。如图所示 对于 short s1 = 1; s1 = s1 + 1;由于 1 是 int 类型,因此 s1+1 运算结果也是 int 型, 需要强制转换类型才能赋值给 short 型。而 short s1 = 1; s1 += 1;可以正确编译,因为 s1+= 1;相当于 s1 = (short)(s1 + 1);其中有隐含的强制类型转换。...原创 2022-06-04 14:55:59 · 2401 阅读 · 0 评论 -
String 是基本数据类型吗?
String 是引用类型,底层用 char 数组实现的。如下为String类中中的一部分代码从中可以看出底层为char数组原创 2022-06-04 14:50:22 · 302 阅读 · 0 评论 -
Java 的基本数据类型 and 所占字节
byte short int long float double char boolean 分为四类八种原创 2022-06-04 14:46:14 · 115 阅读 · 0 评论 -
请说出下面程序的输出?
String s1 = "Programming"; String s2 = new String("Programming");String s3 = "Program";String s4 = "ming";String s5 = "Program" + "ming";String s6 = s3 + s4;System.out.println(s1 == s2); //false 原因:S1和S2的内存地址不一样,应为==判断的内存中的地址System.out.println.原创 2022-05-10 20:14:13 · 277 阅读 · 0 评论 -
String 、StringBuilder 、StringBuffer 的区别?
最直接了当的说法: StringBuilder 、StringBuffe 比String更节约内存Java 平台提供了两种类型的字符串:String 和 StringBuffer/StringBuilder,它们都可以储存和操作字符串,区别 如下。1) String 是只读字符串,也就意味着String 引用的字符串内容是不能被改变的。初学者可能会有这样的误解:String str = “abc”;str = “bcd”;如上,字符串str 明明是可以改变的呀!其实不然,st...原创 2022-05-10 19:43:11 · 243 阅读 · 0 评论 -
数组有没有 length() 方法?String 有没有 length() 方法?
数组的length是属性并非方法 ,String的length()是方法,并非属性原创 2022-05-10 19:25:51 · 609 阅读 · 0 评论 -
Java中switch的key类型有那些?
Java5 以前 switch(key)中,key只能是 byte、short、char、int。从 Java 5 开始,Java 中引入了枚举类型, key也可以是 enum 类型。从 Java 7 开始,key还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。JDK1.7开始支持String,但不允许为null,原理是借助 hashcode( ) 来实现注:此代码编译时使用的jdk版本为1.8./** * 创建NewsDao实例的工厂方法.原创 2022-05-10 19:20:28 · 737 阅读 · 0 评论 -
Java中Math类的常用方法
ceil() 向上取整 // 方法 结果 System.out.println(Math.ceil(11.11)); //12.0 System.out.println(Math.ceil(-11.11)); //-11.0floor() 向下取整 // 方法 结果 System.out.printl...原创 2022-05-10 19:11:54 · 239 阅读 · 0 评论 -
final、finally、finalize 的区别和用途?
final:用于声明常量 修饰变量和类,变量和类不可被修改 且不可被覆盖,修饰类 类不可被继承。finally:异常处理语句结构的一部分,表示总是执行。finalize:Object 类的一个方法,在垃圾回收器执行的时候会调用被回收对象的此方法,可以覆盖此方法 提供垃圾收集时的其他资源回收,例如关闭文件等。该方法更像是一个对象生命周期的临终方法,当该方法被 系统调用则代表该对象即将“死亡”,但是需要注意的是,我们主动行为上去调用该方法并不会导致该对象 “死亡”,这是一个被动的方法原创 2022-05-10 15:45:59 · 211 阅读 · 0 评论 -
throw 和throws 的区别
说通俗点:throw抛出可能发生的异常,throws声明可能发生的异常。throw:1) throw 语句用在方法体内,表示抛出异常,由方法体内的语句处理。2) throw 是具体向外抛出异常的动作,所以它抛出的是一个异常实例,执行 throw 一定是抛出了某种异常。throws:1) throws 语句是用在方法声明后面,表示如果抛出异常,由该方法的调用者来进行异常的处理。2) throws 主要是声明这个方法会抛出某种类型的异常,让它的使用者要知道需要捕获的异常的类型。3)原创 2022-05-09 20:20:29 · 407 阅读 · 0 评论 -
JAVA中常见的运行异常(RuntimeException)
1) java.lang.NullPointerException 空指针异常;出现原因:调用了未经初始化的对象或者是不存在的对象。2) java.lang.ClassNotFoundException 指定的类找不到;出现原因:类的名称和路径加载错误;通常都是程序 试图通过字符串来加载某个类时可能引发异常。3) java.lang.NumberFormatException 字符串转换为数字异常;出现原因:字符型数据中包含非数字型字符。4)java.lang.IndexOutOfBoundsE原创 2022-05-09 20:18:09 · 4802 阅读 · 0 评论 -
error 和 exception 的区别?
Error 类和 Exception 类的父类都是 Throwable 类。他们的区别如下:Error 类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢出等。对于这类错 误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止。Exception 类表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运 行,而不应该随意终止异常。 Exception 类又分为运行时异常(Runti原创 2022-05-09 20:08:21 · 1542 阅读 · 0 评论 -
try-catch-finally 处理异常时catch块中出现return时,执行顺序是怎么样的?
首先看一串实列代码@Textpublic void count(){try { //1 int a = 1/0; //2 return 1; //3 } catch (Exception e) { //4 return 2; //5}finally{原创 2022-05-09 20:05:49 · 330 阅读 · 0 评论 -
两个对象值相同 (x.equals(y) == true) ,但却可有不同的 hashCode,这句话对不对?
首先回1答这个问题之前我们先了解一下什么是hashCode。此处有引用百度百科hashCodehash code是一种编码方式,在Java中,每个对象都会有一个hashcode,Java可以通过这个hashcodehttps://baike.baidu.com/item/hashcode/7482507来识别一个对象。至于hashcode的具体编码方式,比较复杂(事实上这个编码是可以由程序员通过继承和接口的实现重写的),可以参考数据结构书籍。而hashtable等结构,就是通过这个哈希实现快速查..原创 2022-04-11 13:56:54 · 2307 阅读 · 0 评论 -
& 和 && 的区别
&运算符有两种用法:(1)按位与;(2)逻辑与。 &&运算符是短路与运算原创 2022-04-11 11:19:01 · 357 阅读 · 0 评论