String类型的对象在用split()方法进行字符分割的时候常常会遇到用特殊字符进行分割的情况,看JDK知道split()实际上是用的正则实现的分割,当遇到一些用特殊字符作为分割标志的时候,不使用特殊手段就会抛出...java.util.regex.PatternSyntaxException异常,比如用java中的运算符号,括号等等这个时候可以使用split(“[*]”) split(“//+”)来实现特殊字符作为分割标志...该对象不会被 split 方法修改。 separator 可选项。字符串或 正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。...该值用来限制返回数组中的元素个数。...split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解,separator 不作为任何数组元素的部分返回。
工程记数法是一种工程计算中经常使用的记录数字的方法,与科学技术法类似,但要求10的幂必须是3的倍数。...toPlainString() 不使用任何指数 toString() 有必要时使用科学计数法 六、输入输出 6.1 Scanner.next() 和 Scanner.nextLine()...next() 一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next() 方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键...nextLine() 方法的结束符只是Enter键。 要注意nextLine()收集\n和space的情况。 避免: // Method 1 if (input.nextLine() !...,左大括号放在行尾; 非常量字段名称采用首写字母小写的驼峰法命名法; 减少不必要的空行,保持代码紧凑(大括号内行首之前和行尾之后不要加空行)
对象可以包含多个 key/value(键/值)对。 key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。...= “www.google.com“; 你可以使用中括号([])来修改 JSON 对象的值: 实例 myObj.sites[“site1“] = “www.google.com“; 6.删除对象属性...我们可以使用 delete 关键字来删除 JSON 对象的属性: 实例 deletemyObj.sites.site1; 你可以使用中括号([])来删除 JSON 对象的属性: 实例 deletemyObj.sites...每个对象代表一条关于某人(有姓和名)的记录。 JSON 数组在中括号中书写。 JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。...“Github“; 5.删除数组元素 我们可以使用 delete 关键字来删除数组元素: 实例 deletemyObj.sites[1]; ---- 十一、JSON 布尔值 JSON 布尔值可以是 true
即会提升到全局作用域或函数作用域的头部,同时函数声明还会提升到所在的块级作用域的头部 避免在块级作用域内声明函数优先使用函数表达式 let fn=function(){} //块级作用域必须有大括号...()一样 str.trimEnd()去除后面空格和str.trimRight()一样 空白含:空格 tab键空格 全角空格 半角空格 str.replaceAll("a","m")替换全部 Number.isFinite...in遍历 自身的和继承的 for..in循环:只遍历对象自身的和继承的可枚举属性 Object.keys():返回数组,包含对象自身所有可枚举属性的键名 JSON.stringify():只串行化对象自身的可枚举属性...() 方法调用 短路 delete 报错 括号 null判断?? 类似||,设定默认值 如果是null或undefined才生效 let title=a?.b?.title??"...Promise 对象最后状态如何,都会执行的操作
任何不是原始值的东西都是Object。这包括数组,函数,构造函数和对象本身。 对象 从概念上讲,对象在所有编程语言中都是相同的。它们使用具有属性和方法的代码来表示真实世界。...如何添加/更新和删除对象的属性 如前所述,可以通过点 或 括号表示法添加对象的属性。让我们看一个例子。 ? 这里,name 和 city 是对象属性。...对象只能包含一个且具有一个值的键,也就是说同一个键只能有一个值。 属性名称可以是字符串,数字或特殊字符,也可以是动态属性,但如果属性名称不是字符串,则必须使用括号表示法访问它。...要删除对象的属性,我们可以使用delete关键字,来执行此操作。 ? 如果成功删除属性,则返回值delete为true。否则,它将是错误的。 如何迭代对象属性?...使用自定义功能 有多种方式可以通过自定义方法检查属性是否存在。其中一个是通过 Object.keys。 ? 什么是按引用/共享复制和按值复制,它如何应用于对象?
currentVal: 当前数组在处理的元素index: 可选,正在处理的元素索引array: 可选,被调用的数组thisArg: 执行callback函数时使用的this值1.2.4 举例let arr...{trimStart, trimEnd}3.1 String.prototype.trimStart3.1.1 定义trimStart() 方法用来删除字符串的开头的空白字符。...=)String.prototype.replaceAll()数字分隔符Promise.any一、逻辑运算符和赋值表达式(&&=,||=,??...aabbcc'.replaceAll('b', '.'); // 'aa..cc'使用正则表达式搜索值时,必须是全局的:'aabbcc'.replaceAll(/b/, '.'); // TypeError...允许 JavaScript 的数值使用下划线(_)作为分隔符,但是没有规定间隔的位数:123_00小数和科学记数法也可以使用分隔符:0.1_231e10_00⚠️ 注意:不能放在数值的最前面和最后面;
数组/切片 了解数组——完整指南 切片 二维和多维数组和切片 复制数组或切片 迭代数组和切片的不同方法 检查一个项目是否存在于切片中 在切片中查找和删除 在数组中查找和删除 打印数组或切片元素 声明...将一个切片追加或添加到另一个切片 映射 迭代映射的不同方法 映射的长度 映射 一种检查映射中是否存在键的有效方法 更新映射中的一个键 映射允许的键和值类型 创建/初始化/声明映射 映射和 JSON...的转换 将映射转换为 JSON 将 JSON 转换为映射 如何检查映射是否包含键 结构 结构 声明或创建/初始化结构变量 指向结构的指针 漂亮地打印结构变量 结构的导出和未导出字段 结构中的匿名字段...检查两个结构是否相等或结构相等性 访问和设置结构字段 嵌套结构 结构字段元数据或标记 结构与 JSON 的转换 如何初始化带有另一个嵌套结构的结构 如何初始化具有数组或切片字段的结构 如何从另一个包访问结构...检查有效括号 字符串内最长的有效括号子字符串 通配符匹配或正则表达式匹配 相加两个二进制数 数组 在数组中找到总和为目标数字的两个数字 两个排序数组的中位数 查找数组中的所有零和三元组 查找数组中的所有总和为目标数的三元组
(obj); // [['a', 1], ['b', 2]] 三、Object.values 3.1 返回值 Object.values()方法返回一个给定对象自身可枚举属性值的数组 3.2...currentVal: 当前数组在处理的元素 index: 可选,正在处理的元素索引 array: 可选,被调用的数组 thisArg: 执行callback函数时使用的this值 1.2.4 举例...=) String.prototype.replaceAll() 数字分隔符 Promise.any 一、逻辑运算符和赋值表达式(&&=,||=,??...'aabbcc'.replaceAll('b', '.'); // 'aa..cc' 使用正则表达式搜索值时,必须是全局的: 'aabbcc'.replaceAll(/b/, '.'); // TypeError...ES12 允许 JavaScript 的数值使用下划线(_)作为分隔符,但是没有规定间隔的位数: 123_00 小数和科学记数法也可以使用分隔符: 0.1_23 1e10_00 ⚠️ 注意: 不能放在数值的最前面和最后面
因此「 栈 」虽然是线性的,有2个端:顶端和底端,但它只允许从一端进行插入和删除数据,这就是为啥前面说「 栈 」是操作受限的了。 栈只有两种操作:Push 和 Pop 。...我们用Push(压入)来表示往栈中插入数据,也叫入栈,用Pop(弹出)来表示从栈中删除数据,也叫出栈。我们可以既可以用 「 数组 」 来实现一个栈,也可以用 「 链表 」 来实现一个栈。...解题思路: 使用1个堆栈即可解决,依次遍历这个字符串,如果遇到是左括号就入栈到堆栈中,如果遇到的是右括号,则从堆栈中取出栈顶的第一个左括号,比对一下这个左括号和当前遇到的右括号是否匹配,如果不匹配这认为这整个字符串无效...如果能匹配,则OK,删除这个左括号和右括号,继续往后走,继续遍历字符串中剩下的字符,只要遇到左括号就入栈,只要遇到右括号就与将栈顶的左括号出栈与之比较。...但是想了想,好像代码不是很优雅,写了一个优化版,提前将左右括号放入到MAP中,这个方法的时间和空间复杂度跟上面的一样。
每个键都与一个值相关联,你可使用键来访问相关联的值。与键相关联的值可以是数、字符串、列表乃至字典。事实上,可将任何 Python 对象用作字典中的值。 在python中,字典被花括号标识。...不存在修改键的方法,只能是新建键值对。...定义一个空字典的场景也很常见,下面展示了如何定义一个空字典。 book_dict = {} print(book_dict) 程序执行结果如下: ? 删除字典中的键值对,可以使用del语句来删除。...这在做Web开发的时候非常常见,尤其是当前后端之间采用Json来通信的时候,这在格式就非常常见。后端可以返回给前段Json数据格式,或者是JavaScript的数组形式。下面写几个典型的例子。...·赵四","ID":"xsq123657212","等级":"67","粉丝数":240,"点赞数":2000} # JavaScript数组 my_array = [my_json,you_json]
1.1.1 JSON 对象 JSON 对象是由键值对组成的一组无序的数据。使用大括号 {} 来包围,键(属性名)为字符串,值可以是字符串、数字、布尔值、数组、对象或 null。...1.1.2 JSON 数组 JSON 数组是有序的数据集合,使用方括号 [] 包围。数组中的元素可以是任意类型,包括对象和其他数组。...对应的值是一个数组,数组中包含两个对象,每个对象都有 name 和 age 键。...如何在 JavaScript 中处理 JSON 4.1 访问 JSON 对象中的数据 我们可以使用点(.)或方括号([])语法访问 JSON 对象中的数据。...数组 可以使用 forEach 方法遍历 JSON 数组: library.library.books.forEach(book => { console.log(`${book.title
$refs.editor)“ 使用ref的方式而不是ID的方式呢? 使用ref的好处是具有良好的可重用性和范围。因为ref只留在这个组件中,所以当您操作这个ref时,它不会干扰其他组件。...xxxx,这里就省略了 // this.openXXX.. } } 说完@的事件的监听、现在我们可以聊聊怎么生成 @的标签了,而且 @的标签又是再怎么一键删除的?...生成@的用户标签的规则是:高亮、携带用户ID、一键删除信息、不可以编辑 /** * 数据结构: * userList: [{name: '坏女人', uid: 18}, {name: '好男人', uid...@,前文中我们没有阻止@的生成所以要删除@的再插入ps:如果你是数组遍历的请传入type 不然会一直删除你前面的字符。...我就就可以做到:随时@ 随时插入的功能拉~ 五、Android、IOS、Web显示多端一致 每个端使用富文本都是不一样的、那我们应该如何做到统一数据统一呢?
优点: 易于人的阅读和编写 易于机器解析和生成 有效的提升网络传输效率 格式: {"key":"value","key2":"value"} JSON语法 数据在 键/值对中 数据由逗号**,**分割...使用 \ 来转义字符 使用 {}来保存对象 使用[]来保存数组 JSON 名称/值对 key : value "name" : "ymm" JSON的值可以是: 数字 字符串 逻辑值 数组 对象...对象可以包含多个 **key/value(键/值)**对。...key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null) 数组 JSON 数组在中括号中书写。...中括号 [] 保存的数组是值(value)的有序集合。一个数组以左中括号 [ 开始, 右中括号 ] 结束,值之间使用逗号 , 分隔。
使用C#,来序列化对象成为Json格式的数据,以及如何反序列化Json数据到对象 Json【javascript对象表示方法】,它是一个轻量级的数据交换格式,我们可以很简单的来读取和写它,并且它很容易被计算机转化和生成...Json支持下面两种数据结构: 键值对的集合--各种不同的编程语言,都支持这种数据结构; 有序的列表类型值的集合--这其中包含数组,集合,矢量,或者序列,等等。...Json有下面几种表现形式 1.对象 一个没有顺序的“键/值”,一个对象以花括号“{”开始,并以花括号"}"结束,在每一个“键”的后面,有一个冒号,并且使用逗号来分隔多个键值对。...例如: var user = {"name":"Manas","gender":"Male","birthday":"1987-8-8"} 2.数组 设置值的顺序,一个数组以中括号...该值定义 JSON 是否应使用整齐打印。
可以使用一些在线或本地的JSON验证工具来帮助我们检查JSON数据的格式和语法是否正确。打印详细的错误信息。如果以上方法都无法解决问题,可以尝试打印出详细的错误信息,以便更好地理解问题所在。...):true 或 false数组(Array):有序的值列表,用中括号 [] 包围,每个值之间用逗号分隔,如 [1, 2, 3]对象(Object):无序的键值对集合,用花括号 {} 包围,每个键值对之间用逗号分隔...,键与值之间用冒号分隔,如 {"name": "Alice", "age": 30}空值(Null):表示为空的值,如 null2....键值对JSON对象由多个键值对组成,键和值之间用冒号分隔。键必须是唯一的字符串,值可以是任意的JSON数据类型。键值对之间用逗号分隔。...嵌套和嵌套引用JSON支持嵌套和嵌套引用,可以在数组和对象中嵌套其他数组和对象。
JSON 数据格式:键/值对 JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值,例如...: {“name”:”李四”} 数据写在大括号里,其中name是键,李四则是值。...下面我们来介绍一下,如何解析JSON和生成JSON: 生成JSON,想要把对象里的数据生成JSON,需要使用JSONObject类来生成,例如我现在有一个Student类: ?...和Java一样在JavaScript中转换成JSON的对象数据也是以键值对来表示,数组是以方括号来表示。 1....解析数组形式的JSON,还是使用eval函数来解析,还是得加上小括号,和Java一样使用数组下标来拿值。 代码示例: ? 运行结果: ?
System.out.println("匹配到了Java,索引位置是"+index); }else{ System.out.println("没有匹配到了Java"); } } 如何去找第二个索引值...方法 replaceAll(“要替换的值”,”新值”); repalceAll 方法中有两个参数,第一个是要替换的值,第二个代表是新值 public static void main(String...(str); } 将新值换成空格,可以删除原文本 例:去除文件后缀名 public static void main(String[] args) { String fileName = "...split 进行换行符的分割,得到一个新的数组对象 String[] data = text.split("\n"); // 因为第一行是标题不是数据,所以我们需要把长度-1 // (注意要使用小括号包围...split 进行换行符的分割,得到一个新的数组对象 String[] data = text.split("\n"); // 因为第一行是标题不是数据,所以我们需要把长度-1 // (注意要使用小括号包围
Json是一种轻量级的数据交换格式,采用一种“键:值”对的文本格式来存储和表示数据,在系统交换数据过程中常常被使用,是一种理想的数据交换语言。...,可以得出以下语法: 1:数据在花括号中 2:数据以”键:值”对的形式出现(其中键多以字符串形式出现,值可取字符串,数值,甚至其他json对象) 3:每两个”键:值”对以逗号分隔(最后一个”键:值”对省略逗号...再来看类中的主要方法: 类中主要是get()方法。因为JSONObject相当于json对象,所以该类中主要封装了各种get方法,通过”键:值”对中的键来获取其对应的值。...且方法的输入参数几乎皆为String类型,这是因为json对象中,”键:值”对的键都是String类型的。...总结:JSONObject对应json对象,通过各种形式的get()方法可以获取json对象中的数据,也可利用诸如size(),isEmpty()等方法获取”键:值”对的个数和判断是否为空。
; 为了让这个框架不那么笨,我借用了spring的IOC 思想, 实现一个容器来管理我的bean; 这个框架和你印象中使用springmvc 很相似,你应该能回想起 springMVC的零零点点,然后看看这个简单的框架是如何实现这些功能的...beanName)是这个接口对应的 那个实现类, 意思就是:在 运行阶段, 将 controller中 的某个service接口字段 替换成 这个service的实现类; 这样我们在编写代码的时候是用使用接口调用方法...equals(paramName.trim())){ //方法参数的名字(值) name/addr,下标 pm.put(paramName...那自然是调用servlet的 doPost 和 doGet方法了, 为了简单点,我在doGet中调用doPost [java] view plain copy @Override protected...matcher.matches()){ continue ;} //按照声明顺序返回 Class 对象的数组,这些对象描述了此 Method 对象所表示的方法的形参类型。
领取专属 10元无门槛券
手把手带您无忧上云