java
code作业本
这个作者很懒,什么都没留下…
展开
-
Java中管道流的使用
Java管道流的使用原创 2022-06-16 10:31:27 · 831 阅读 · 1 评论 -
JSON 判断是数组还是对象,判断JSON类型
JSONObject result = jsonObject.getJSONObject("result"); Object obj = result.get("detail"); if (obj instanceof JSONArray) { logger.info("jsonarray"); } else if (obj instanceof JSONObject) .原创 2022-04-21 17:49:20 · 5218 阅读 · 0 评论 -
运算符的操作计算
按位与运算符(&)参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;按位或运算符(|)参加运算的两个对象,按二进制位进行“或”运算。运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1;取反运算符(~)参加运算的一个数据,按二进制位进行“取反”运算。运算规则:~1=0; ~0=1;异或运算符“^” 用于比较两个二进制数的相应位。在执行按位异或运算时,如果两原创 2022-02-10 20:46:32 · 182 阅读 · 0 评论 -
Java中BigDecimal的基本使用
通过BigDecimal比较大小//前提为a、b均不能为nullif(a.compareTo(b) == -1){ System.out.println("a小于b");} if(a.compareTo(b) == 0){ System.out.println("a等于b");} if(a.compareTo(b) == 1){ System.out.println("a大于b");} if(a.compareTo(b) > -1){ System原创 2021-10-25 17:09:56 · 154 阅读 · 0 评论 -
通配符使用
限定符a* a出现0次或多次a+ a出现1次或多次a? a出现0次或1次a{6} a出现6次a{2,6} a出现2-6次a{2,} a出现两次以上或运算符(a|b) 匹配a或者b(ab)|(cd) 匹配ab或者cd字符类[abc] 匹配a或者b或者c[a-c] 同上[a-fA-F0-9] 匹配小写+大写英文字符以及数字[^0-9] 匹配非数字字符元字符\d 匹配数字字符\D 匹配非数字字符\w 匹配单词字符(英文、数字、下划线原创 2021-07-12 15:28:51 · 433 阅读 · 0 评论 -
Kotlin与Java的相互调用
Kotlin调用javapublic class MyJavaClass{ public static MyJavaClass object = new MyJavaClass(); @Override public String toString(){ return "MyJavaClass{}"; }}kotlinfun main(args: Array<String>){ //需要加反引用符号,!左侧的按键原创 2021-04-11 01:30:54 · 97 阅读 · 0 评论 -
Android计算时间差
java try { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date startTime = df.parse("2018-01-01 12:10:10"); Date endTime = df.parse("2018-01-01 14:10:10"); long diff = startTime.get原创 2021-04-08 11:15:35 · 235 阅读 · 0 评论 -
一次搞定JNI静态注册全过程(Windows)
JNI静态注册全过程(Windows环境)环境搭建安装MinGW64,安装地址https://sourceforge.net/projects/mingw-w64/files/安装注意:安装过程中Architecture选项,选择x86_64(我的电脑装的是64位系统,所以选择此项),然后等待安装完成。安装完成后需要配置环境变量,环境变量路径:MinGW64\mingw64\bin\CMD中执行g++后提示如下,说明安装成功g++.exe: fatal error: no原创 2021-02-09 16:14:04 · 123 阅读 · 0 评论 -
设计模式-动态代理
接口类public interface CodeTask { void TaskOne(); String TaskTwo();}实现接口类public class CodeTaskImpl implements CodeTask { @Override public void TaskOne() { System.out.println("task2 one"); } @Override public String TaskTwo() { System.out原创 2021-02-08 21:52:37 · 66 阅读 · 0 评论 -
Java中反射的三种方式
Java中反射的三种方式 //方法一 Person person1 = new Person(); Class clazz1 = person1.getClass(); System.out.println("方法1:"+person1); //方法二 Class<Person> clazz2 = Person.class; Person person2 = (Person) clazz2.getDeclaredConstructor().newInstance()原创 2021-02-08 16:28:35 · 237 阅读 · 1 评论 -
Java中list,array和数组之间的转换
String转换为数组:String str = “1,2,3”;String[] a = str.split(",");String转换为List(先转数组,再转list):String str = “1,2,3”;List l = Arrays.asList(str.split(","));数组转换为String:①有commons-lang3.jar(一般都有)String[] array = {“1”, “2”};String s = StringUtils.join(array,原创 2020-12-18 16:14:46 · 161 阅读 · 2 评论 -
ViewPager中预加载与懒加载
ViewPager中预加载与懒加载预加载为了让用户在切换过程中不卡顿,安卓官方默认创建当前item时,会创建第二个item,确保用户滑动时第二个item已经被创建,保持viewpager的平滑移动的效果。所以实现了预加载。viewpager.setCurrentItem(int item)设置当前显示第几个itemviewpager.setOffscreenPageLimit(int limit)limit参数默认是1,即使设置为0的话,默认值也为1(非当前显示页面)默认是预加载当前显原创 2020-11-23 16:52:41 · 1034 阅读 · 0 评论 -
ViewPager中adapter基本使用总结
ViewPager的基本使用ViewPager和TabLayout的使用:https://developer.android.com/guide/navigation/navigation-swipe-viewPagerAdapter可实现针对View的广告栏滑动效果instantiateItem(ViewGroup, int)创建并添加子控件,实例化控件destroyItem(ViewGroup, int, Object)判断滑动的控件是否超出了缓存范围,如果超出则销毁,移除不原创 2020-11-17 00:12:36 · 898 阅读 · 0 评论 -
Java内部类的种类与相关使用总结
内部类的种类与相关属性成员内部类含义:是普通的内部类,定义在一个类的内部属性:内部类访问外部类的属性或方法可以访问外部类的所有成员属性和成员方法(包括private成员和静态成员)//代码省略当内部类和外部类的变量或方法重名时,默认访问的是成员内部类的属性和方法//如果要访问外部类的属性或方法外部类.this.成员变量外部类.this.成员方法外部类访问内部属性或方法外部类必须创建一个成员内部类的对象,再通过此内部类对象的引用来访问成员内部类属性或方法原创 2020-10-05 16:31:21 · 102 阅读 · 0 评论 -
java和kotlin泛型总结
泛型//此种写法不允许!!//不允许将子类直接赋值给它的父类//java不允许把一个子类的泛型对象,赋值给一个父类的泛型类型声明List<View> textViews = new ArrayList<>(TextView);由于上方在java中不允许,所以在java中使用通配符?的解决方案//可以通过?通配符实现上面的问题List<? extends View> textViews = new Arraylist<TextView>();原创 2020-09-29 11:18:05 · 523 阅读 · 0 评论 -
设计模式:动态代理
动态代理第一步:实现钢笔接口interface PenInterface { void write(); void draw();}第二步:学生的手实现钢笔接口public class StudentHand implements PenInterface { @Override public void write() { System.out.println("学生用笔写字"); } @Override public void draw() { System原创 2020-09-28 21:31:08 · 74 阅读 · 0 评论 -
Java中的关于日期的常用操作
关于日期操作涉及其他操作的话,以后逐步完善 public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); Date date = calendar.getTime(); //获取当前时间 System.out.println("获取当前日期date:" + date); //获取当前年月日时分秒原创 2020-09-18 11:55:13 · 126 阅读 · 0 评论 -
工厂模式总结
简单工厂public interface View { void draw();}//第一个实现view接口的类public class ButtonView implements View { public ButtonView() { System.out.println( "ButtonView: created"); } @Override public void draw() { System.out.println原创 2020-09-08 10:08:51 · 94 阅读 · 0 评论 -
设计模式-单例模式
饿汉式单例:优点:线程安全,使用时没有延迟缺点:启动时就创建了实例,启动慢,可能造成资源浪费public class Singleton1{ private Singleton1(){} private static Singleton1 mSingleton1 = new Singleton1(); public static Singleton1 getInstance(){ return mSingleton1; } public st原创 2020-09-07 16:39:42 · 103 阅读 · 0 评论 -
Java流操作总结内容
以下都是以内存为中心字节流可以操作字节,也可以操作字符字符流只能操作字符以下四个类在java.io包下以下四大基本抽象类,不能实例化,只能使用子类,并且以内存为中心InputStream 输入字节流(byte, 8位)read()OutputStream 输出字节流(byte,8位)write()Reader 输入字符流(char,16位)read()Writer 输出字符流(char,16位)write()其中前缀带Buffered的是带有缓存的BufferedI原创 2020-09-07 11:10:07 · 113 阅读 · 0 评论 -
Java中基本数据类型内存占用
数据类型内存占用字节数byte1short2int4long8float4double8boolean1char2计算机访问内存时是一次一个字节其中每8位为一个字节1011 1101 1111 0000 (前8位一个字节,后8位一个字节)一个应用(机器地址)需要8个字节表示创建一个对象,那么这个对象需要占用8个字节表示当创建一个对象时,如new Object(),除了Object对象内部储存的数据占用...原创 2020-09-05 14:04:25 · 786 阅读 · 0 评论