3-5-3 读写缓存流 ——BufferedStream类 类BufferedStream就是给另一流上的读写操作添加一个缓冲区。缓冲区是内存中的字节块,用于缓存数据,从而减少对操作系统的调用次数。 类BufferedStream的构造函数有2种重载,如表3-17所示: 表3-17 类BufferedStream的常用构造函数 名称 说明 BufferedStream (Stream) 使用默认的缓冲区大小 4096 字节初始化 BufferedStream 类的新实例。 BufferedStream (Stream, Int32) 使用指定的缓冲区大小初始化 BufferedStream 类的新实例。 3-5-4 BufferedStream类案例学习 1. 课 后 练 习 1、FileInfo类和File类的设计差别是什么? 2、文本文件操作和图像文件的操作在本质上有何差异?
本文链接:https://blog.csdn.net/shiliang97/article/details/101223979 3-9 堆栈模拟队列 (20 分) 设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列
代码清单3-9 class stack { public: stack() { stackTop = -1; maxStackItemIndex
接下来有人可能会在输入手机号的时候写成+8613xxxxxxxxx或者(+86)13xxxxxxxxx的形式,因此为了支持一下这一类比较少见的写法,我们可以添加上国家代码的前缀:(? <四位区号>(0[3-9][1-9]{2})|(\(0[3-9][1-9]{2}\)))\D?\d{7,8}) 这里简单判断了不可能存在0111或者0222的区号,以及电话号码是7位或者8位。 <四位区号>(0[3-9][1-9]{2})|(\(0[3-9][1-9]{2}\)))\D?\d{7,8}))(?<分机号>\D?\d{1,4})? <四位区号>(0[3-9][1-9]{2})|(\(0[3-9][1-9]{2}\)))\D?\d{7,8}))(?<分机号>\D?\d{1,4})?
password'] = bcrypt($pwd); $user = User::create($post); /** * 发邮件 * 发送类Mali 类(静态方法) * 文本raw() * 富文本send() * 发送邮件的账号,需要开启stmp协议。 类(静态方法) * 文本raw() * 富文本send() * 发送邮件的账号,需要开启stmp协议。 extend('phone', function ($attribute, $value, $parameters, $validator) { $reg0 = '/^\+86-1[3- 9]\d{9}$/'; $reg1 = '/^1[3-9]\d{9}$/'; return preg_match($reg0, $value) || preg_match
例如: @Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确") private String userPhone; 这里的正则表达式^1[3- [3-9]:第二位必须是3到9之间的数字。 \\d{9}$:后面跟着9位数字。 4.3 正则表达式的作用 正则表达式是校验字符串格式的强大工具。 完整代码示例 以下是一个完整的Java类示例,展示了如何使用注解对手机号格式进行校验: import javax.validation.constraints.NotBlank; import javax.validation.constraints.Pattern serialVersionUID = 6032064528363065061L; @NotBlank(message = "用户手机号不能为空") @Pattern(regexp = "^1[3- 附录:常用正则表达式 手机号:^1[3-9]\\d{9}$ 邮箱:^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.
电话号码的格式为: 开头是 1 第二位在3-9之间 后9位可以是任意数字。 代码如下: import re def match_phone_number(string): pattern = r"^(1[3-9]\d{9})$" match = re.match False string = "13555555555" print(match_phone_number(string)) # True 解释 ^$是开始和结束的标志; 1表示第一位必须是1; [3- 9]表示第二位必须是3-9之间的数字; \d表示后面部分是一个数字,{9}这样的数字有9个,不限区间0-9; 我们学到了什么 知道了开始和结束的标志是 ^ $; 知道了原来字符的位置有如此严格的占位限制 ; 知道了 [] 代表字符集合; 知道了 3-9 代表区间; 知道了 \d 代表数字匹配; 知道了 {} 代表要匹配多少次; 2.
System类: System类主要是用来操作、获得系统相关的一些东西,例如之前用到的获取系统时间的方法System.currentTimeMillis(); ? 运行结果: ? 所以这时候就要使用到BigDecimal类。 BigDecimal类: BigDecimal类用于解决float和double运算时会丢失精度的问题。 BigInteger类: BigInteger是一个能够存储很大的整型数字的类,能够存储很多很多的数字,并且不会损失精度。 ? 运行结果: ? Runtime类: Runtime是用来使应用程序能够与其运行的环境相连接的,使用对象可以访问JVM的相关信息,如处理器数量,内存信息等。并且可以控制终端执行一些系统命令。 Robot类: Robot是可以实现自动控制的一个类,例如自动控制鼠标,键盘,截图等功能。 控制键盘: ? 控制截图: ? 控制鼠标: ?
BufferedImage Image是一个抽象类,BufferedImage是其实现类,是一个带缓冲区图像类,主要作用是将一幅图片加载到内存中(BufferedImage生成的图片在内存里有一个图像缓冲区 Graphics2D类提供更强大的绘图能力。 若要精确定位,则需要知道字符串显示的长度和字高,可以通过FontMetrics类来实现。 Color对象:Color color=new Color(int R,int G,int B),由于是8位,所以不能超过255;二是用颜色常量如Color.red,Color.green等,Color类提供了 g.fillRect(90,10,60,90); g.copyArea(40,50,60,70,-20,80); g.copyArea(110,50,60,60,10,80); 对Point、Rectangle类的应用
Django自带用户管理模块的models.py文件为: from django.contrib.auth.models import AbstractUser 简单看一下AbstractUser和它的父类 error_messages是一个键值对,键表示异常的校验,值表示异常的提示 validators:自定义异常校验 使用正则编写一个手机号格式校验函数validate_mobile 手机号必须以1开头,第二位是3- 9,后面还有9位数字 def validate_mobile(value): if not re.match(r'1[3-9]\d{9}', value): raise ValidationError django.core.exceptions import ValidationError def validate_mobile(value): if not re.match(r'1[3- # 表名 verbose_name = 'user' # 站点显示名 verbose_name_plural = 'users' # 复数显示 指定本项目用户模型类
Object类 java.lang.Object 类是所有类的父类。它描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。 如果一个类没有特别指定父类, 那么默认则继承自Object类。 例如: public class MyClass /*extends Object*/ { // ... } 根据JDK源代码及Object类的API文档,Object类当中包含的方法有11个。 DateFormat类 java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换 装箱与拆箱 基本类型与对应的包装类对象之间,来回转换的过程称为”装箱“与”拆箱“: 装箱:从基本类型转换为对应的包装类对象。 拆箱:从包装类对象转换为对应的基本类型。
/^1[3-9]\d{9}$/.test(this.mobile)) { this. /^1[3-9]\d{9}$/.test(this.mobile)) { this. /^1[3-9]\d{9}$/.test(this.mobile)) { this. 1px solid #999; } </style> 多方式登录 安装jwt (luffy) bash-3.2$ pip install djangorestframework-jwt 序列化类 permission_classes = [] def post(self, request, *args, **kwargs): # 2) 拿到前台登录信息,交给序列化类,
目录 TimeZone类(时区类) TimeZone对象 getDefault() 获取本地的时区对象 getAvailableIDs() 获取全世界的时区id getAvailableIDs(int rawOffset) 根据偏移量获取时区id getTimeZone(String ID) getDisplayName() getID() 获取到当前的时区id Calender 类 概念 calender 对象里面有什么 从源码里面学习这个Calender类 setTime() get() add(int field, int amount) TimeZone类(时区类) 每一个地区都有时区id ,就是国际上面认定的时区 ZONE_OFFSET=28800000, DST_OFFSET=0 ] 根据上面的返回值,我们可以知道,返回的东西为当前时间全部的日期对象 可以直接根据字段摘要获取东西 从源码里面学习这个Calender类 setTime() 我们前端传过来的时间是字符串类型,我们要对这个时间进行操作,那么就可以转为Calender 这个对象,进行操作,因为这个类里面的方法是很多的,可以对时间进行各种各样的操作。
(1)新建Qt Widget Application,项目名UserInfo,基类QDialog,取消创建界面; (2)打开dialog.h头文件,在头文件中声明对话框中的各个控件,添加代码 #ifndef QPushButton *CancelBtn; QHBoxLayout *ButtomLayout; }; #endif // DIALOG_H (2)打开dialog.cpp文件,在类Dialog
package cn.itcast.day08.demo01; /* java.lang.String类代表字符串 API当中说:Java程序中的所有字符串字面值(如:“abc")都作为此类的实例实现 其实就是说:程序当中所有的双引号字符串,都是String类的对象。 如果有了static关键字,那么不需要创建对象,直接就能通过类名称来使用它。 无论是成员变量,还是成员方法。如果有了static,都推荐使用类名称进行调用。 静态变量:类名称.静态变量 静态方法:类名称.静态方法() 注意事项: 1.静态不能直接访问非静态。 原因:因为在内存当中是【先】有的静态内容,【后】有的非静态内容。 >=0; i--) {//chars.forr直接出 System.out.print(chars[i]); } } } java.util.Math类是数学相关的工具类
String类 java.lang.String 类代表字符串。 StringBuilder类 java.lang.StringBuilder又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。 ? String str = sb.toString(); System.out.println(str); // HelloWorldJava } } Arrays类 )); //将数组升序排序 Arrays.sort(arr); System.out.println("排序后: "+Arrays.toString(arr)); } Math类 java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数,其所有方法均为静态方法 基本运算的方法 返回 double 值的绝对值 double d1 = Math.abs
有一个 dream 属性 this.dream = dream; //类似于 Python 的 self ,初始化类参数 }; var p1 = new Person("暴富"); // 产生一个对象 = dream; }; var p1 = new Person("暴富"); p1.dream Person.prototype.makeDream = function(){ // 固定用法,类名 ; }; var p2 = new Person("食屎"); var Yello = function(dream){ //创建一个新的类,叫Yellow,从这一句开始,继承 Person 类 JSON.stringify(lis); // 序列化,转化成字符串 s1; var s2 = JSON.parse(s1); // 反序列化 s2; 9.正则表达式的简单了解 var r1 = new RegExp('^1[3- .test("18913079152"); // 这里的正则表达用来测试这里是否是一个合法的手机号码 // 也可以如下写法,只用两个"/",中间写正则,是一样的效果,使用两个"/"即使用正则 /^1[3-
1.ArrayList类 ArrayList类主要用于对一个数组中的元素进行各种处理。在ArrayList中主要使用Add、Remove、RemoveAt、Insert四个方法对栈进行操作。 Stack(堆栈)类主要实现了一个LIFO(Last In First Out,后进先出)的机制。 Queue(队列)类主要实现了一个FIFO(First In First Out,先进先出)的机制。 (); Console.WriteLine("{0}出队", q); } } } } 4.Hashtable类 5.SortedList类 SortedList类也是键/值对的集合,但与哈希表不同的是这些键/值对是按键排序,并可以按照键和索引访问。
定义构造函数 定义成员(方法、属性、事件) 注册类 类——构造函数 类的构造函数即为function定义 通常用于初始化域变量 自由成员使用下划线开头(形式上的封装) 类——定义方法 使用prototype 的面向对象类型系统将get_xxx和set_xxx开头的方法认做属性(一种约定) 避免定义只写属性,使用某个方法替代 类——注册类 Tye.registerNamespace("MyNamespace" 类——抽象类 包含抽象方法的类即为抽象类 MyNamespace.MyClass.prototype{this. _mymethod=function{throw Error.notImplemented();}}//包含抽象方法 类——继承 调用父类的构造函数 有父类的类必须调用父类的构造函数,否则会丢失继承效果 可以直接以普通方式实现父类的抽象成员 toString方法无法被继承 类——调用父类方法 MyNamespace.MyClass.prototype={myMethod:function(param1,
文章目录 一、枚举类 二、枚举类定义函数 1、枚举类定义普通函数 2、枚举类定义构造函数 三、密封类 一、枚举类 ---- Kotlin 中使用 枚举类 定义常量 , 枚举类定义格式如下 : 枚举常量 都是 枚举类 的 实例对象 ; enum class 枚举类类型名 { 枚举常量1, 枚举常量2, ... } 代码示例 : enum class Gender { MALE, 枚举的 常量名称 ; MALE true 枚举的常量 Gender.MALE 是 Gender 类的一个 实例对象 ; 二、枚举类定义函数 ---- 在枚举类中 , 可以 定义函数 , 包括 普通函数 和 构造函数 ; 1、枚举类定义普通函数 通过 枚举类 的 类型常量 ( 实例对象 ) 可以 调用 枚举类中定义的方法 ; 为枚举类定义普通函数 : 在枚举类 Gender 中定义了 log 函数 , ---- 枚举类型 是一组 子类型 闭集 ; 密封类 可以 定义 枚举类型的 子类型闭集 , 一个密封类可以有多个子类 , 继承密封类的子类 必须 与 密封类在相同的 Kotlin 代码文件中 ; 密封类适用于这种情况