新闻详情

新闻详情

首页 / 资讯中心 / 详情

java常用方法

发布时间:2026/9/5 15:17:30来源:尧图网络
java常用方法
1.Class对象类名.class获取一个类的类对象通过这个Class类型的对象访问类中的方法等2.数组2.1.拷贝数组System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)src – the source array.srcPos – starting position in the source array.dest – the destination array.destPos – starting position in the destination data.length – the number of array elements to be copied2.2.转换为流Arrays.stream(T[] array)通过流对数组进行中间操作过滤、操作元素等操作 最终通过终结操作得到想要的结果。String strings[] {,}; Arrays.stream(strings).filter(s-!.equals(s)).forEach(item-{ //操作 System.out.println(item); });2.3.排序int[] array {2,1}; Arrays.sort(array);2.4.转集合ListInteger list Arrays.asList(1, 2);使用时不能使用其修改集合相关的方法public static void main(String[] args) { ListInteger statusList Arrays.asList(1, 2); System.out.println(statusList); System.out.println(statusList.contains(1)); System.out.println(statusList.contains(3)); //向集合中添加元素 statusList.add(3); System.out.println(statusList.contains(3)); }运行结果原因asList()方法返回的对象是Arrays类的内部类虽然继承了AbstractList类却没有重写相关方法3.反射3.1.反射获取参数名ClassString stringClass String.class; try { Method method stringClass.getMethod(indexOf, int.class); Parameter[] parameters method.getParameters(); for (Parameter parameter : parameters) { System.out.println(name of param:parameter.getName()); } } catch (NoSuchMethodException e) { throw new RuntimeException(e); }4.集合4.1.转为流ListString strings new ArrayList(); ListString insertUserList strings.stream().filter(m - m ! null).collect(Collectors.toList());4.2.排序ListInteger list Arrays.asList(4, 3); Collections.sort(list);5.String5.1.子串位置String m java world hello; System.out.println(aaaa.indexOf(world,0));str – 字串.fromIndex – 开始位置.应用场景求子串重复出现的次数5.2.拼串每次拼串都会产生新的对象如果想保证每次取出相同的对象需要使用intern()方法该方法就是把字符串的内容放入到常量池中。String 想要的字符串 字符串内容.toString().intern();public class MyStringSplice { public static void main(String[] args) { Thread[] threads new Thread[8]; for (int i 0; i 8; i) { threads[i] new Thread(new StringThread(192.168.1.1)); } for (int i 0; i 8; i) { threads[i].start(); } } public static class StringThread implements Runnable{ private static final String LOCK_PREFIX My---; private String taskNo; public StringThread(String taskNo) { this.taskNo taskNo; } Override public void run() { //拼串 //String lock buildLock(); //拼串后加入常量池start String lock LOCK_PREFIX taskNo; //拼串后加入常量池拼串后加入常量池end String aaa lock.intern(); synchronized (aaa) { System.out.println([ Thread.currentThread().getName() ]开始运行了); // 休眠5秒模拟脚本调用 try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println([ Thread.currentThread().getName() ]结束运行了); } } private String buildLock() { StringBuilder sb new StringBuilder(); sb.append(LOCK_PREFIX); sb.append(taskNo); String lock sb.toString(); System.out.println([ Thread.currentThread().getName() ]构建了锁[ lock ]); return lock; } } }6.Calendar6.1.设置时间Calendar calendar Calendar.getInstance(); calendar.setTime(new Date()); //设置小时 calendar.set(Calendar.HOUR_OF_DAY,8); //设置分钟 calendar.set(Calendar.MINUTE, 0); //解决Mysql设置秒数多一秒 cal.set(Calendar.MILLISECOND,0); //设置秒 calendar.set(Calendar.SECOND, 0); //年份加1 calendar.add(Calendar.YEAR,1);7.匿名内部类定义匿名内部类的前提内部类必须是继承一个抽象类或者实现接口。只要一个类是抽象的或是一个接口那么其子类中的方 法都可以使用匿名内部类来实现匿名内部类的格式 new 父类或者接口(){ 定义子类的内容 }8.多线程8.1 保证顺序执行CountDownLatch、CyclicBarrier、Phaser、Semaphore、AtomicInteger、CompletableFuture、Thread的join、ReentrantLock和Condition8.2 两个线程交换数据java.uitl.Concurrent.Exchanger简洁高效地实现两个线程间的数据交换避免复杂的锁和同步机制public class MyExchanger { public static void main(String[] args) { ExchangerString exchanger new Exchanger(); Runnable taskA () - { try { String message exchanger.exchange(Data A); System.out.println(taskA receive message from B: message); } catch (InterruptedException e) { Thread.currentThread().interrupt(); System.err.println(Thread A was interrupted); } }; Runnable taskB () - { try { String message exchanger.exchange(Data B); System.out.println(taskB receive message from A: message); } catch (InterruptedException e) { Thread.currentThread().interrupt(); System.err.println(Thread B was interrupted); } }; CompletableFuture.allOf(runAsync(taskA), runAsync(taskB)).join(); } }运行结果9.队列9.1 控制线程的顺序java.util.concurrent.BlockingQueue利用put()、take()会一直阻塞的特点public class MyBlockingQueue { private static final BlockingQueueInteger queue1 new ArrayBlockingQueue(1); private static final BlockingQueueInteger queue2 new ArrayBlockingQueue(1); public static void main(String[] args) { Thread t1 new Thread(() - { try { System.out.println(Thread 1); queue1.put(1); // Signal t2 to run } catch (InterruptedException e) { e.printStackTrace(); } }); Thread t2 new Thread(() - { try { queue1.take(); // Wait for signal from t1 System.out.println(Thread 2); queue2.put(1); // Signal t3 to run } catch (InterruptedException e) { e.printStackTrace(); } }); Thread t3 new Thread(() - { try { queue2.take(); // Wait for signal from t2 System.out.println(Thread 3); } catch (InterruptedException e) { e.printStackTrace(); } }); t1.start(); t2.start(); t3.start(); } }
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

英飞凌TC275 Bootloader开发实战:从UDS协议到双分区OTA升级 2026/9/5 16:05:38

英飞凌TC275 Bootloader开发实战:从UDS协议到双分区OTA升级

简介:本资源为英飞凌TC275微控制器专用的AUTOSAR兼容Bootloader完整源码工程,面向汽车电子、工业控制领域的嵌入式软件工程师及AUTOSAR初学者,解决TC275平台安全启动、固件在线升级(FOTA)与MCAL层集成等核心开发需求。…

阅读更多 →
CS-Notes 剑指 Offer 32.3 详解:按之字形顺序打印二叉树(BFS 逐层遍历 + 奇偶层翻转) 2026/9/5 16:05:38

CS-Notes 剑指 Offer 32.3 详解:按之字形顺序打印二叉树(BFS 逐层遍历 + 奇偶层翻转)

CS-Notes 剑指 Offer 32.3 详解:按之字形顺序打印二叉树(BFS 逐层遍历 奇偶层翻转) 【免费下载链接】CS-Notes :books: 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计 项目地址: https://gitcode.com/GitHub_Tre…

阅读更多 →
CRMEB_Mer_v2.0.1深度解析:中型本地生活SaaS平台源码架构与二次开发指南 2026/9/5 16:05:38

CRMEB_Mer_v2.0.1深度解析:中型本地生活SaaS平台源码架构与二次开发指南

简介:CRMEB【多商户】商城系统源码(V2.0.1)是一套基于PHP开发的成熟多商户电商平台解决方案,面向中小型电商开发者、二次定制团队及SaaS服务商,解决多角色协同运营、订单精细化管理与跨端(APP/PC/小程序&am…

阅读更多 →
spotDL 完整教程:3 条命令把 Spotify 歌单变成本地音乐库(含封面、歌词与元数据) 2026/9/5 16:05:38

spotDL 完整教程:3 条命令把 Spotify 歌单变成本地音乐库(含封面、歌词与元数据)

spotDL 完整教程:3 条命令把 Spotify 歌单变成本地音乐库(含封面、歌词与元数据) 【免费下载链接】spotify-downloader Download your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found). …

阅读更多 →
探秘AI的“无法处理”:合规内容生成与安全机制 2026/9/5 16:05:38

探秘AI的“无法处理”:合规内容生成与安全机制

我无法处理这个请求。项目标题“余式哀嚎”没有任何可理解、可转化的技术主题或具体内容,不属于可合规写作的技术博客范畴。请提供真实、明确、合规的技术主题,例如某个工具、项目、框架、方法论或开发经验,我才能按要求完成长文创作。

阅读更多 →
微信聊天记录导出终极指南:WeChatMsg 免费完整教程,5 步导出为 Word 并生成年度报告 2026/9/5 16:02:38

微信聊天记录导出终极指南:WeChatMsg 免费完整教程,5 步导出为 Word 并生成年度报告

微信聊天记录导出终极指南:WeChatMsg 免费完整教程,5 步导出为 Word 并生成年度报告 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞