- 博客(29)
- 收藏
- 关注
原创 JavaSE——反射
获取Class对象的三种方式public class Test01 { public static void main(String[] args) { // 通过 类的 Class对象 获取类的加载器// ClassLoader cl1 = String.class.getClassLoader();// System.out.println(cl1);// // System.out.println(Test01.class.getClassLoader()); //
2022-04-23 18:47:30
313
原创 JavaSE——注解
// 标注在注解上/* * Target的value属性的取值: * TYPE 类、接口、枚举等类型 * FIELD 属性 * METHOD 方法 * PARAMETER 参数 * CONSTRUCTOR 构造方法 */// 如果属性类型是数组,但设置的值只有一个元素时, 可以省略 {}//@Target(value = ElementType.TYPE)// 如果只有 value属性需要设置值, 可以省略 value = //@Target(ElementType.TYPE)
2022-04-23 18:47:08
270
原创 Java设计模式
单例模式饿汉式三步:(线程安全)// 饿汉式public class Dog { // 1.构造方法私有化 private Dog(){} // 自行实例化(唯一实例), 并能够提供给外部 private static Dog dog = new Dog(); // 并向整个系统提供这个实例。 public static Dog getIntance() { return dog; }}懒汉式三步:(线程不安全)// 懒汉式public class Cat { /
2022-04-23 18:46:05
133
原创 Lambda表达式
Lambda表达式语法格式一:无参数,无返回值() -> System.out.println("");// 例如:Runnable r1 = () -> System.out.println("");r1.run();语法格式二:只有一个参数(注:参数的小括号可以不写),无返回值Consumer<String> con = (x) -> System.out.println(x);con.accept("");语法格式三:有两个或以上的参数,有返回值,
2022-04-23 18:45:44
112
原创 Stream API
创建Stream1.可以通过Collection系列集合提供的stream()或parallelStream()List<String> list = new ArrayList<String>();Stream<String> stream = list.stream();2.通过Arrays中的静态方法stream()获取数组流String[] strings = new String[10];Stream<String> stream2 =
2022-04-23 18:45:26
319
原创 Java——JDBC
JDBC编程六步:注册驱动 (作用:告诉Java程序,即将要连接的是哪个品牌的数据库)获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完之后一定要关闭通道。)获取数据库操作对象(专门执行sql语句的对象)执行sql语句(DQL,DML…)处理查询结构集(只有当第四步执行的是select语句的时候,才会有这第五步。)释放资源相关代码:...
2022-04-23 18:44:36
90
原创 JavaSE——线程
线程创建的两种方式// 继承Thread类class MyWindow extends Thread { int num = 100;// public MyWindow(String name) { super(name); } @Override public void run() { while (num > 0) { System.out.println(getName() + " 卖票: " + num); num--; } }}// 实现run
2022-04-07 15:29:32
122
原创 JavaSE——IO
File常用操作// 相对于 当前项目根目录File f = new File("src/b.properties");// 存在对应的文件//f = new File("src/abcd.properties");// 不存在对应的文件// 访问属性System.out.println("文件名:"+f.getName());System.out.println("路径名:"+f.getPath());System.out.println("绝对路径:"+f.getAbsolutePath(
2022-03-31 17:39:21
126
原创 JavaSE——异常
自定义异常public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入整数m的值:"); int m = sc.nextInt(); System.out.println("请输入整数n的值:"); int n = sc.nextInt(); try { int divide = divide2(m, n); System.out.printl
2022-03-30 15:05:53
84
原创 JavaSE——零碎点
// foreach,不能同时添加或移除元素for (Integer integer : list) { if (integer % 2 == 0) { list.remove(integer); }}
2022-03-28 10:07:09
99
原创 JavaSE——匿名内部类
示例// 使用匿名内部类Arrays.sort(arr, new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { // 按数字长度比较,相同,按数值比较 String s1 = o1.toString(); String s2 = o2.toString(); if (s1.length() == s2.length()) { return o1.intVa
2022-03-27 18:17:26
114
原创 JavaSE——枚举
示例public enum Season { // 除注释以外的,第一行必须是枚举的对象定义。枚举对象,也被称为枚举项 // 枚举项,一般只需定义名称,名称一般是大写,因为该对象是 public static final 修饰的 属性 // 每一个对象之间以 逗号 分隔, 可以换行。 SPRING("春天", 3,5), SUMMER("夏天", 6,8), AUTUMN("秋天", 9,11), WINTER("冬天", 12,2); private String name; p
2022-03-27 16:33:48
95
原创 JavaSE——Math
常用方法double a = 3.758;// round() 四舍五入保留整数位System.out.println("n1:"+Math.round(a));// 4// floor() 返回小于或等于参数的 最大的整数 (向下取整)double floor = Math.floor(a);System.out.println("floor:"+floor);// 3// ceil() 返回大于或等于 参数的 最小的整数 (向上取整)double ceil = Math.ceil(a);
2022-03-27 15:25:42
92
原创 JavaSE——正则表达式
常用String regex = "\\d"; //一个一位的数字System.out.println("7".matches(regex)); //trueString regex = "\\d{1,2}"; // 一至两位的数字regex = "\\d?\\d"; // 可以是一位或两位的数字regex = "[0-9]{1,2}"; // 是一至两位的数字String s = "asdqwe3223sdfds2323";// 把2和3替换为XString regex = "[23]
2022-03-27 15:23:22
106
原创 JavaSE——编码解码
编码解码示例String s = "测试hello";// 当前文件编码 UTF-8try { // 编码(编码一致, 字节数组正确) byte[] bytes = s.getBytes("UTF-8"); // 使用错误字符集,解码 String s2 = new String(bytes, "GBK");// GBK // 乱码了 System.out.println("s2:"+s2); // 乱码的解决方式: // 还原编码 byte[] arr2 = s2.getBytes(
2022-03-27 14:54:19
110
原创 JavaSE——String
常用方法String s = "hello world";System.out.println("该字符串第一次出现的位置(下标):" + s.indexOf("l"));System.out.println("从指定位置开始,该字符串第一次出现的位置(下标):" + s.indexOf("l", 4));System.out.println("字符串最后一次出现的位置:" + s.lastIndexOf("l"));System.out.println("(从指定位置向前查询)字符串最后一次出现
2022-03-27 14:44:42
84
原创 JavaSE——不定长参数
public static void main(String[] args) { test(); test("aaa"); test("aaa", "bbb"); test("aaa", "bbb", "ccc"); } public static void test(String... args) { for (String arg : args) { System.out.println(arg); }
2022-03-26 15:12:17
104
原创 JavaSE——集合
创建和输出// 创建集合容器ArrayList<String> list = new ArrayList<>();// 最后的 <> 中内容可以省略// 一般使用接口 接收实现类对象List<String> list2 = new ArrayList<>();// 可以直接输出,查看元素System.out.println(list);常用方法// 常用方法ArrayList<String> list = new
2022-03-25 14:37:03
103
原创 JavaSE——Calendar相关
返回包含当前系统时间的一个 日历类对象Calendar ca = Calendar.getInstance();// 设置日历中的当前时间Date d2 = new Date(1648002158398L);ca.setTime(d2);System.out.println("d2:"+d2);ca.set(2000, month - 1, 20); // 设置年月日..get() 获取日期中指定字段的值(int)System.out.println("YEAR:"+ca.get(Cal
2022-03-23 15:43:15
83
原创 JavaSE——Date相关
Date类相关// 打印当前系统时间Date d = new Date();System.out.println(d);设置时间的毫秒值d1.setTime(time + 10*60*1000);// 10分钟后的时间System.out.println("10分钟后的时间:" + d1);自定义时间格式// 设置格式->sdfString pattern = "yyyy-MM-dd HH:mm:ss.SSS";// 2022-03-23 10:50:33.345SimpleD
2022-03-23 12:15:14
107
原创 Invoke-customs are only supported starting with Android O (--min-api 26)
解决办法:只需要把选中部分添加到gradle里面就行,我这里是为了还原错误,记得取消注释
2021-04-25 18:50:26
130
原创 Android中关于Toast的覆盖问题
因为在日常使用音乐类app时,循环播放随机播放什么的如果一直按会导致后面触发的toast一个接一个不紧不慢的显示,导致我已经很久没有触发toast还在一直显示,体感真的很差。也在社区寻找了很多篇文章还是没解决,因为有的东西我看不懂,又是个急性子(我是个新手,原谅我)后来了解到要用到cancel方法,然后去看源码,5s之后我回来了(因为我个小白真的看不懂…太菜了我)。所以自己尝试修改了下代码,发现好像可以了(窃喜),代码如下:private void showToast(String s) {
2021-03-18 14:01:02
1799
1
原创 问题:Unable to find explicit activity class {com.example.message/com.example.message}; have you declar
问题:Unable to find explicit activity class {com.example.message/com.example.message}; have you declared this activity in your AndroidManifest.xml?第一种可能是manifests里面没有注册或信息有误;我遇到的是第二种:activity名称和工具类重名了,建议改个名字。...
2021-03-15 15:36:18
1199
原创 问题:The given artifact contains a string literal with a package reference ‘android.support.v4.content
问题:The given artifact contains a string literal with a package reference 'android.support.v4.content修改依赖版本为: implementation 'com.jakewharton:butterknife:10.2.0' annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.0'
2021-03-15 15:05:42
365
原创 ListView的简单用法(二)
用ListView实现类似界面1、首先先把布局文件弄好:<ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent" ></ListView>其...
2020-04-11 22:34:33
269
原创 ListView的简单用法(一)
方法一、通过引入资源文件1、在values目录下建一个资源文件,我这边是显示一个简单的数组列表<?xml version="1.0" encoding="utf-8"?><resources> <string-array name="arrayList"> <item>全部</item> &l...
2020-04-11 18:26:13
530
原创 Android studio学习———简单帧动画的实现
1、Frame动画是一系列图片按照一定的顺序展示的过程,也就是说它是一张张图片快速显示的过程,让人看起来像是动画一样,我们称为逐帧动画。Frame动画可以被定义在XML文件中,也可以完全编码实现。如果要实现的动画资源是被定义在XML里面,我们可以将它放到/res的anim目录下(可以自己新建一下目录),或者直接放到/drawable底下,代码如下:<?xml version="1....
2020-04-08 23:36:19
1848
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人