当前位置: 首页 > news >正文

青岛哪家做网站好跨境电子商务平台的是

青岛哪家做网站好,跨境电子商务平台的是,衣服品牌,短视频运营后端杂七杂八系列篇四-Java8篇 ① Lombok插件① RequiredArgsConstructor② SneakyThrows③ UtilityClass④ Cleanup ② Lambda 4个常用的内置函数① FunctionT, R - 接受一个输入参数并返回一个结果② Consumer - 接受一个输入参数#xff0c;并执行某种操作#xf… 后端杂七杂八系列篇四-Java8篇 ① Lombok插件① RequiredArgsConstructor② SneakyThrows③ UtilityClass④ Cleanup ② Lambda 4个常用的内置函数① FunctionT, R - 接受一个输入参数并返回一个结果② Consumer - 接受一个输入参数并执行某种操作无返回值③ Supplier - 不接受任何参数但产生一个结果④ Predicate - 接受一个输入参数并返回一个布尔值 ③ Optional④ 常用Stream流stream 中间操作stream 终端操作 Java 8中的Future和CompletableFutureFutureCompletableFuture ① Lombok插件 Lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具。 ① RequiredArgsConstructor ② SneakyThrows 在 Java 中异常被分为了受查异常 checked exception和 非受查异常unchecked exception两种。 非受查异常又叫运行时异常即 RuntimeException。 受查异常即 Exception。 受查异常是Java给你检查的异常需要你手动try catch 比如这个写的时候会报错IDE会提示我们需要加上try catch 运行时异常是Java 运行时候报出来的异常一般是我们程序员写错了。 我们的SneakyThrows就是为了让我们少写try catch 代码 即在有受查异常的时候我们加上注解就不用写try catch了。 代码举例 import lombok.SneakyThrows;public class SneakyThrowsDemo {// 使用注解SneakyThrowspublic String readFile(String filePath) {File file new File(filePath);BufferedReader reader new BufferedReader(new FileReader(file));StringBuilder content new StringBuilder();String line;while ((line reader.readLine()) ! null) {content.append(line).append(\n);}reader.close();return content.toString();}// 不使用注解public String readFileWithout(String filePath) {try{File file new File(filePath);BufferedReader reader new BufferedReader(new FileReader(file));StringBuilder content new StringBuilder();String line;while ((line reader.readLine()) ! null) {content.append(line).append(\n);}reader.close();return content.toString();}catch(e){}}public static void main(String[] args) {SneakyThrowsDemo demo new SneakyThrowsDemo();// 无需捕获FileNotFoundException和IOExceptionSystem.out.println(demo.readFile(example.txt));} }③ UtilityClass 用于定义工具类的时候不用定义static的方法了。 举个例子 public class UtilClass {// 静态变量全局存储public static int globalCount 0;// 静态方法可以直接通过类名调用无需创建对象public static void incrementCount() {globalCount;}// 其他静态工具方法public static String formatString(String input) {return Formatted: input.toUpperCase();}// 使用示例public static void main(String[] args) {// 不需要创建UtilClass对象直接访问静态成员UtilClass.incrementCount();System.out.println(UtilClass.globalCount); // 输出1String formattedString UtilClass.formatString(hello world);System.out.println(formattedString); // 输出Formatted: HELLO WORLD} }在Java中静态工具类中的属性默认情况下是可以一直保留的除非显式地进行修改或者JVM垃圾回收机制清除了该类的Class对象这在正常应用中非常罕见。 使用注解时候的demo UtilityClass public class WxMpContextHolder {private final ThreadLocalString THREAD_LOCAL_APPID new TransmittableThreadLocal();/*** TTL 设置appId* param appId*/public void setAppId(String appId) {THREAD_LOCAL_APPID.set(appId);}/*** 获取TTL中的appId* return*/public String getAppId() {return THREAD_LOCAL_APPID.get();}public void clear() {THREAD_LOCAL_APPID.remove();}} ④ Cleanup // Java 标准的写法public class CleanupExample {public static void main(String[] args) throws IOException {InputStream in new FileInputStream(args[0]);try {OutputStream out new FileOutputStream(args[1]);try {byte[] b new byte[10000];while (true) {int r in.read(b);if (r -1) break;out.write(b, 0, r);}} finally {if (out ! null) {out.close();}}} finally {if (in ! null) {in.close();}}} }// 注解的写法 public class CleanupExample {public static void main(String[] args) throws IOException {Cleanup InputStream in new FileInputStream(args[0]);Cleanup OutputStream out new FileOutputStream(args[1]);byte[] b new byte[10000];while (true) {int r in.read(b);if (r -1) break;out.write(b, 0, r);}} }② Lambda 4个常用的内置函数 ① FunctionT, R - 接受一个输入参数并返回一个结果 public class FunctionDemo {public static void main(String[] args) {ListString names Arrays.asList(Alice, Bob, Charlie);// 使用lambda表达式转换字符串为大写FunctionString, String toUpperCase s - s.toUpperCase();names.stream().map(toUpperCase).forEach(System.out::println);} }② Consumer - 接受一个输入参数并执行某种操作无返回值 public class ConsumerDemo {public static void main(String[] args) {ListInteger numbers Arrays.asList(1, 2, 3, 4, 5);// 使用lambda表达式打印数字ConsumerInteger printNumber n - System.out.println(Number: n);numbers.forEach(printNumber);} }③ Supplier - 不接受任何参数但产生一个结果 public class SupplierDemo {public static void main(String[] args) {// 使用lambda表达式生成随机数SupplierInteger randomIntSupplier () - (int) (Math.random() * 100);System.out.println(Random number: randomIntSupplier.get());} }④ Predicate - 接受一个输入参数并返回一个布尔值 public class PredicateDemo {public static void main(String[] args) {ListString fruits Arrays.asList(Apple, Banana, Cherry, Durian);// 使用lambda表达式检查字符串长度是否大于5个字符PredicateString isLongFruit fruit - fruit.length() 5;fruits.stream().filter(isLongFruit).forEach(System.out::println);} }③ Optional 用法例子一 public class Student {private String name;private int age;private Integer score;//省略 construct get set }public ListStudent initData(){Student s1 new Student(张三, 19, 80);Student s2 new Student(李四, 19, 50);Student s3 new Student(王五, 23, null);Student s4 new Student(赵六, 16, 90);Student s5 new Student(钱七, 18, 99);Student s6 new Student(孙八, 20, 40);Student s7 new Student(吴九, 21, 88);return Arrays.asList(s1, s2, s3, s4, s5, s6, s7); }Test public void beforeJava8() {ListStudent studentList initData();for (Student student : studentList) {if (student ! null) {if (student.getAge() 18) {Integer score student.getScore();if (score ! null score 80) {System.out.println(入选 student.getName());}}}} }Test public void useJava8() {ListStudent studentList initData();for (Student student : studentList) {OptionalStudent studentOptional Optional.of(student);Integer score studentOptional.filter(s - s.getAge() 18).map(Student::getScore).orElse(0);if (score 80) {System.out.println(入选 student.getName());}} }用法例子二 public String test0(AlarmAllParmeter alarmAllParmeter) {String errorResult ;if (null ! alarmAllParmeter) {Integer alarmId alarmAllParmeter.getAlarmEventInputId();if (null ! alarmId) {AlarmEventInput alarmEventInput alarmEventInputService.get(alarmId);if (null ! alarmEventInput) {String alarmName alarmEventInput.getAlarmName();int alarmType alarmEventInput.getAlarmType();return String.valueOf(alarmType) - alarmName;} else {return errorResult;}} else {return errorResult;}} else {return errorResult;}}// 改进方案一public String test1(AlarmAllParmeter alarmAllParmeter){String errorResult ;OptionalAlarmAllParmeter op Optional.ofNullable(alarmAllParmeter);if(op.isPresent()){Integer alarmId op.get().getAlarmEventInputId();OptionalInteger op1 Optional.ofNullable(alarmId);if(op1.isPresent()){AlarmEventInput alarmEventInput alarmEventInputService.get(op1.get());OptionalAlarmEventInput op2 Optional.ofNullable(alarmEventInput);if (op2.isPresent()) {String alarmName alarmEventInput.getAlarmName();int alarmType alarmEventInput.getAlarmType();return String.valueOf(alarmType) - alarmName;} else {return errorResult;}}else {return errorResult;}}else {return errorResult;}}// 改进方案二 public String test2(AlarmAllParmeter alarmAllParmeter){return Optional.ofNullable(alarmAllParmeter).map(a - a.getAlarmEventInputId()).map(a - alarmEventInputService.get(a)).map(a - String.valueOf(a.getAlarmType())-a.getAlarmName()).orElse();}④ 常用Stream流 stream 中间操作 // filter ListPerson result list.stream().filter(Person::isStudent).collect(toList());// distinct ListPerson result list.stream().distinct().collect(toList());// limit ListPerson result list.stream().limit(3).collect(toList());// skip ListPerson result list.stream().skip(3).collect(toList());// map ListString result list.stream().map(Person::getName).collect(toList());stream 终端操作 // anyMatch boolean result list.stream().anyMatch(Person::isStudent);// allMatch boolean result list.stream().allMatch(Person::isStudent);// noneMatch boolean result list.stream().noneMatch(Person::isStudent);// findAny OptionalPerson person list.stream().findAny();// findFirst OptionalPerson person list.stream().findFirst();Java 8中的Future和CompletableFuture Future 用法demo public class FutureExample {public static void main(String[] args) throws ExecutionException, InterruptedException {// 创建一个线程池ExecutorService executor Executors.newSingleThreadExecutor();// 提交一个Callable任务到线程池返回一个Future对象FutureString future executor.submit(new CallableString() {Overridepublic String call() throws Exception {Thread.sleep(2000); // 模拟耗时操作return Hello from Future!;}});// 主线程可以继续执行其他任务不被阻塞System.out.println(Main thread is doing other tasks...);// 当需要获取结果时调用Future的get方法该方法会阻塞直到结果准备好String result future.get();System.out.println(result);// 关闭线程池executor.shutdown();} }CompletableFuture 用法demo public class CompletableFutureExample {public static void main(String[] args) throws ExecutionException, InterruptedException {// 创建一个CompletableFuture对象并提供一个异步计算的任务CompletableFutureString future CompletableFuture.supplyAsync(() - {try {Thread.sleep(2000); // 模拟耗时操作} catch (InterruptedException e) {Thread.currentThread().interrupt();}return Hello from CompletableFuture!;});// 使用thenApply方法进行链式处理将上一步的结果转换为新的结果CompletableFutureInteger lengthFuture future.thenApply(result - result.length());// 使用thenAccept方法处理完成后的结果不返回任何值lengthFuture.thenAccept(length - System.out.println(Length: length));// 等待所有任务完成CompletableFuture.allOf(future, lengthFuture).join();// 或者直接获取结果这会阻塞直到结果准备好// int length lengthFuture.get();// System.out.println(Length: length);} }
http://www.yingshimen.cn/news/39134/

相关文章:

  • 做电子商务系统网站大学生如何建立网站
  • 设备电商网站模板网站制作需要什么资料
  • 怎么在百度上做推广上首页重庆短视频seo优化推荐
  • 有没有装修做团购的网站网站开发员名称是什么
  • 石家庄做网站那家好大连网站建设大全
  • 网站建设擎宇做网站找什么公司好
  • 哪个网站做简历甘肃省酒泉市做网站公司
  • 网站建设需要哪些设备网站优化怎样做外链
  • 做公司网站需要什么seo 首页
  • 北京网站优化方法潜江招聘资讯网
  • 做百度网站费用多少合适网站如何做单项链接
  • 单位网站建设框架国外网站能否做百科参考资料
  • 找图片素材的网站有哪些网络运营外包托管
  • 百度站长联盟微信小程序注册认证
  • 公司网站模板 html临沂市兰山区建设局网站
  • 聊城网站百度推广灯塔网站建设
  • 网站用模板为什么不利于seo推广小说小程序源码
  • 校园微网站建设方案上海制作公司
  • 有没有做卡哇伊的企业网站微信视频号小店
  • 百度移动版搜素引擎排名优化计费方式
  • 芜湖哪里有做网站的青岛鲁icp 网站制作 牛商网
  • 电子商城网站建设项目规划书上海市企业服务云平台登录
  • 网站建设分金手指专业四张家港网站优化
  • 怎么申请公司网站成都医院手机网站建设
  • 官网建站平台去哪个网站做农产品推广
  • 企业营销策划报告湘潭市优化办
  • phpcms做网站页面开发专业外贸平台推广
  • 没有网站怎么做推广yahoo搜索引擎入口
  • 网站开发后台php技术做爰视频免费安全的网站
  • 网页加载不出来怎么办知乎seo排名帝搜软件