Pre2

#Task1

测评机(Java8)不支持enhanced Switch

Switch中,将case后的:改为->后,将会取消fall through,可以删去break;

#Task4

疏忽强转溢出的可能性

重写Equipment类的compareTo()时,对于price的比较直接使用了return (int) (this.price - other.price),然而long减long可能超过int范围导致溢出错判。

运用异常处理机制

#Task5

关于接口和接口引用的理解

Pre3

#Task1

Java8 不支持 String.isBlank()。改成 String.trim().isEmpty()

#Task3

正则表达式括号与捕获组

括号本身既区分优先级,又形成捕获组

:捕获字符串中可能出现的receiver(形如“@某用户”)

目标表达式 regexp = ((@[a-zA-Z0-9]+)?)

会分出两个捕获组。Matcher.find()始终为true;若不存在@[a-zA-Z0-9]则Matcher.group(1)返回"",Matcher.group(2)返回null

可以分别为group #1/group #2命名为"receiver":

  • (?<receiver>(@[a-zA-Z0-9]+)?)
  • ((?<receiver>@[a-zA-Z0-9]+)?)

正则表达式的包含关系导致无法匹配

public static final String DATE_PATTERN = "(?<year>\\d{1,4})" + "/" +
"(?<month>\\d{1,2})" + "/" + "(?<day>\\d{1,2})";
public static final String SENDER_PATTERN = "(?<sender>-[a-zA-Z0-9]+)";
public static final String RECEIVER_PATTERN = "((?<receiver>@[a-zA-Z0-9]+)?)"; public static final String MESSAGE_PATTERN = DATE_PATTERN + ".*"
+ SENDER_PATTERN + "[^@]*" + RECEIVER_PATTERN;
// 第二处连接若使用".*"则使用时将无法匹配RECEIVE_PATTERN

关于String.split()返回数组不定长

由于使用了SCANNER.next(),用String.split("\")分割"y\m\d"时,若读取值为"\"、"2021\"等时,数组长度不为3,与年月日匹配方法不符产生异常。

解决:创建长度3的数组来定长。使用System.arraycopy(Object[] src, int srcPos, Object[] dest, int destPos, int length),直接从内存拷贝数组。

【Pre】Exercise Log的更多相关文章

  1. 【UFLDL】Exercise: Convolutional Neural Network

    这个exercise需要完成cnn中的forward pass,cost,error和gradient的计算.需要弄清楚每一层的以上四个步骤的原理,并且要充分利用matlab的矩阵运算.大概把过程总结 ...

  2. 【原创】Kakfa log包源代码分析(二)

    八.Log.scala 日志类,个人认为是这个包最重要的两个类之一(另一个是LogManager).以伴生对象的方式提供.先说Log object,既然是object,就定义了一些类级别的变量,比如定 ...

  3. 【科技】单 $\log$ 合并两棵有交集 FHQ-Treap 的方法

    维护可分裂 & 合并的可重集 考虑这样一个问题: 维护 \(n\) 个 可重集 \(S_1, S_2, \cdots, S_n\),元素值域为 \([1, U]\),初始集合为空.支持一下操作 ...

  4. 【朝花夕拾】Android Log篇

    前言  从事Android开发的这些年中,经常碰到这样一个现象:同一款app中,往往有好几种风格迥异的log处理方式,有时候会让维护者晕头转向.同时笔者也经常碰带一些模棱两可的问题:Log等级分好几种 ...

  5. 【DeepLearning】Exercise:Softmax Regression

    Exercise:Softmax Regression 习题的链接:Exercise:Softmax Regression softmaxCost.m function [cost, grad] = ...

  6. 【DeepLearning】Exercise:Learning color features with Sparse Autoencoders

    Exercise:Learning color features with Sparse Autoencoders 习题链接:Exercise:Learning color features with ...

  7. 【DeepLearning】Exercise: Implement deep networks for digit classification

    Exercise: Implement deep networks for digit classification 习题链接:Exercise: Implement deep networks fo ...

  8. 【DeepLearning】Exercise:Sparse Autoencoder

    Exercise:Sparse Autoencoder 习题的链接:Exercise:Sparse Autoencoder 注意点: 1.训练样本像素值需要归一化. 因为输出层的激活函数是logist ...

  9. 【原创】Kakfa log包源代码分析(一)

    Kafka日志包是提供的是日志管理系统.主要的类是LogManager——该类负责处理所有的日志,并根据topic/partition分发日志.它还负责flush策略以及日志保存策略.Kafka日志本 ...

  10. 【MySQL】redo log --- 刷入磁盘过程

    1.redo log基本概念 redo log的相关概念这里就不再过多阐述,网上有非常多的好的资料,可以看下缥缈大神的文章:https://www.cnblogs.com/cuisi/p/652507 ...

随机推荐

  1. Ubuntu 装卸Opencv

    buntu中卸载opencv的方法: 1.打开ubuntu: 2.找到当初安装opencv的build目录,进入该build目录执行卸载操作: 3.通过rm命令清理/usr中所有opencv相关项即可 ...

  2. 命名空间“System.Web.UI.Design”中不存在类型或命名空间名称“ControlDesigner”

    命名空间"System.Web.UI.Design"中不存在类型或命名空间名称"ControlDesigner" 命名空间"System.Web.UI ...

  3. vmstorage如何将原始指标转换为有组织的历史

    vmstorage如何将原始指标转换为有组织的历史 参考自:vmstorage-how-it-handles-data-ingestion vmstorage是VictoriaMetrics中负责处理 ...

  4. 搭建gitlab私有仓库

    1.下载gitlab 首先在 /etc/yum.repos.d/目录下配置gitlab下载镜像源. # 进入目录 /etc/yum.repos.d/ cd /etc/yum.repos.d/ # 创建 ...

  5. 开箱你的 AI 语音女友「GitHub 热点速览」

    随着大模型 API 服务的不断丰富,开发者无需再依赖昂贵的硬件,也能轻松开发出拥有强大 AI 能力的应用.这不仅降低了技术门槛,也激发了极客们的创造力. 就比如上周飙升 1.5k Star 的开源项目 ...

  6. arthas进行java应用不停服务情况下的class文件热部署更新

    我们在工作的过程中会遇到java应用已经部署或升级投入使用,发现某个单元文件有bug需要修正,但是客户的应用目前不能停止,而且不能因为一个非致命的bug来进行整个平台的一次升级.我们需要进行单文件的更 ...

  7. java线上问题跟踪工具Arthas的第一次使用

    Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load.内存.gc.线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参.异常,监测方法执行耗时 ...

  8. S3基准测试工具 - Warp使用简介

    本文分享自天翼云开发者社区<S3基准测试工具 - Warp使用简介>,作者:y****n 1.Warp⼯具简介 warp 是⼀款开源的S3基准测试⼯具,开源S3项⽬minio下的⼀个⼦项⽬ ...

  9. 如何让领导轻松在本地查看Allure报告

    如何让领导轻松在本地查看Allure报告 问题描述 当我们把精心生成的Allure报告原始文件发送给领导后,领导直接打开index.html文件时,页面却一直处于加载状态,无法显示数据. 通过F12开 ...

  10. Q:nginx 访问报错403 forbidden

    curl 访问本地时 403 forbidden 查看nginx日志,路径为/var/log/nginx/error.log  (13: Permission denied),详细报错如下: 2021 ...