char类型的转换
发表于|更新于
|总字数:20|阅读时长:1分钟|浏览量:
char ch = '9' |
文章作者: 丨小小丶
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hexo!
相关推荐
2021-07-11
单例模式
单例模式提供了一种创建对象的最佳方式,这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问而不需要实例化该类的对象 注意: 单例类只能有一个实例 单例类必须自己创建自己的唯一实例 单例类必须给所有其他对象提供这一实例 单例模式的几种实现方式懒汉式,线程不安全这种方式是最基本的实现方式,不支持多线程,因为没有加锁。 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } 懒汉式,线程安全这种方...
2021-06-10
String.format()的使用
当有一个字符串有一部分是固定另外一部分是需要变化的时候,最好使用String.format()来处理这种情况。 格式为String.format(String format, Object ... args) 例如在www.xxx.com/s?index=后面需要添加参数时 String url = "www.xxx.com/s?index=%d" String format = String.format(url,100) System.out.println(format) 执行后即可得到结果www.xxx.com/s?index=100 如在字符串中有多个变化的部分的时候则可以使用以下方法: 例如需要显示距离过年还有xx天xx时xx秒 可以在string.xml中声明 <string name="delay_time">距离过年还有%1$d天%2$d时%3$d秒</string> 在代码中的使用: mTextView.setText(String.format(getResources().ge...
2021-06-25
continue、break和return关键字的作用及使用场景
continue关键字 作用:结束本次循环,进入下一次循环 使用场景: public static void main(String[] args) { for (int i = 1; i <= 5; i++) { //需求:不打印第三次HelloWorld if(i == 3){ continue; } System.out.println("HelloWorld"+"......"+i); }} 执行结果如下: HelloWorld…1HelloWorld…2HelloWorld…4HelloWorld…5 即HelloWorld…3没有执行,会直接进入下一次循环。 break关键字 作用:跳出循环体或switch语句 使用场景: public static void main(String[] args) { for (int i = 1; i&l...
2021-06-25
Java关键字instanceof
instanceof严格来说是Java中的一个双目运算符,用来判断一个对象是否为一个类的实例 用法:boolean result = obj instance of Class 其中obj为一个对象,Class表示一个类或是一个接口,当obj为Class的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result都会返回true,否则返回false。 编译器会首先检查obj是否能转换成右边的class类型,如果不能则会直接报错,如果不能确定类型,则通过编译。 obj必须为引用类型,不能为基本类型int i = 0;System.out.println(i instanceof Integer); //编译不通过System.out.println(i instanceof Object); //编译不通过 instanceof运算符只能用作对象的判断 obj为nullSystem.out.println(null instanceof Object); //false 在 JavaSE规范 中对 instanceof 运算符的规定就是:如果 obj 为 null,那...
2021-04-26
Java的GC垃圾回收算法
GC如何判断一个对象为“垃圾”的 Java堆内存中存放着几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”。那么GC具体可以通过哪些手段来判断一个对象已经“死去”的 1、引用计数算法 该算法通过判断对象的引用数量来决定对象是否可以被回收,在此机制下,堆中的每个对象都存在一个引用计数器,当一个对象创建后被分配一个引用之后则对应的引用计数器+1,当引用完成后则引用计数器响应的-1,当某个对象的引用计数器为0的时候,则会被虚拟机作为垃圾进行回收,并释放其锁占用的内存空间。 优点:引用计数算法的执行效率高,程序执行所受的影响较小。 缺点:无法检测出循环引用(父对象引用子对象,子对象引用父对象),其内存空间无法被回收从而导致内存泄漏。 2、可达性分析算法 该算法是通过判断对象的引用链是否可达来决定对象是否会被作为垃圾进行回收。 该算法将程序的所有引用作为一张图,通过将一些GC Roots对象作为起始点,从这些节点开始向下搜索,搜索所做过的路径被称为引用链,如果某个GC Roots没有与任何...
2021-06-25
java.util.ConcurrentModificationException报错解决办法
在对Vector、ArrayList进行迭代的同时删除数据就会抛出java.util.ConcurrentModificationException异常 例如先新建一个列表 ArrayList<String> names = new ArrayList<>();names.add("aaa");names.add("bbb");names.add("ccc");names.add("ddd"); 然后同时在其中删除数据 for(String name : names){ if (name.equals("ccc")){ names.remove("ccc"); }} 此时就会出现上述报错。 因此需要用另外一种方法来从Arraylist中删除数据: Iterator<String> itr = names.iterator();while(itr.hasNext()){ ...
