张三

String类型集合元素分割和拼接,String类型集合转为Long类型集合

梦想的初衷 提交于 2020-03-22 18:21:27
String类型集合中元素拼接为字符串与字符串分割组成数组: List<String> list = new ArrayList<>(); String a= "张三,李四"; String b= "王五,赵六,田七"; String c = "张三"; list.add(a); list.add(b); list.add(c); //将集合中的所有元素按照","拼接,组成新的一个字符串 String join= StringUtils.join(list.toArray(), ","); //"张三,李四,王五,赵六,田七,张三"; //将新的字符串join按照","分割组成String类型数组 String[] splitInvestigatedJoin = join.split(","); //[张三,李四,王五,赵六,田七,张三] 将String类型集合转为Long类型(可以灵活变为Integer类型等):前提是可转换的情况下 List<String> strList = Arrays.asList("1","2","3","4"); List<Long> longList= new ArrayList<>(); //input没有实际含义 CollectionUtils.collect(strList , input -> Long.valueOf(input

深拷贝与浅拷贝探析

大憨熊 提交于 2020-03-20 08:02:13
深拷贝与浅拷贝探析 1. 深拷贝是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响。举个例子,一个人名叫张三,后来用他克隆(假设法律允许)了另外一个人,叫李四,不管是张三缺胳膊少腿还是李四缺胳膊少腿都不会影响另外一个人。比较典型的就是 Value (值)对象,如预定义类型 Int32 , Double ,以及结构( struct ),枚举( Enum )等。 考虑以下写法 int source = int .MaxValue; //(1) 初始化源对象为整数的最大值 2,147,483,647 int dest = source; //(2) 赋值,内部执行深拷贝 dest = 1024; //(3) 对拷贝对象进行赋值 source = 2048; //(4) 对源对象进行赋值 首先( 2 )中将 source 赋给 dest ,执行了深拷贝动作,其时 dest 和 source 的值是一样的,都是 int.MaxValue ;( 3 )对 dest 进行修改, dest 值变为 1024 ,由于是深拷贝,因此不会运行 source , source 仍然是 int.MaxValue ;( 4 )对 source 进行了修改,同样道理, dest 仍然是 1024 ,同时 int.MaxValue 的值也不变,仍然是 2,147,483,647

行列转换问题

自作多情 提交于 2020-03-19 05:56:49
  http://topic.csdn.net/u/20070723/18/3EC2F842-233A-4BEA-B7FD-694E8A685C62.html 代码 /* 普通行列转换 (爱新觉罗.毓华 2007-11-18于海南三亚) 假设有张学生成绩表(tb)如下: Name Subject Result 张三 语文  74 张三 数学  83 张三 物理  93 李四 语文  74 李四 数学  84 李四 物理  94 */ -- ----------------------------------------------------------------------- /* 想变成 姓名 语文 数学 物理 ---------- ----------- ----------- ----------- 李四 74 84 94 张三 74 83 93 */ create table tb ( Name varchar ( 10 ) , Subject varchar ( 10 ) , Result int ) insert into tb(Name , Subject , Result) values ( ' 张三 ' , ' 语文 ' , 74 ) insert into tb(Name , Subject , Result) values ( ' 张三 ' , ' 数学

跟着动画来学习TCP三次握手和四次挥手

偶尔善良 提交于 2020-03-18 17:06:42
TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一。很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答。 本篇尝试使用动画来对这个知识点进行讲解,期望读者们可以更加简单地地理解TCP交互的本质。 TCP 三次握手 TCP 三次握手就好比两个人在街上隔着50米看见了对方,但是因为雾霾等原因不能100%确认,所以要通过招手的方式相互确定对方是否认识自己。 张三首先向李四招手( syn ),李四看到张三向自己招手后,向对方点了点头挤出了一个微笑( ack )。张三看到李四微笑后确认了李四成功辨认出了自己(进入 estalished 状态)。 但是李四还有点狐疑,向四周看了一看,有没有可能张三是在看别人呢,他也需要确认一下。所以李四也向张三招了招手( syn ),张三看到李四向自己招手后知道对方是在寻求自己的确认,于是也点了点头挤出了微笑( ack ),李四看到对方的微笑后确认了张三就是在向自己打招呼(进入 established 状态)。 于是两人加快步伐,走到了一起,相互拥抱。 我们看到这个过程中一共是四个动作,张三招手--李四点头微笑--李四招手--张三点头微笑。其中李四连续进行了2个动作,先是点头微笑(回复对方),然后再次招手(寻求确认),实际上可以将这两个动作合一,招手的同时点头和微笑( syn+ack )。于是四个动作就简化成了三个动作,张三招手-

WebAPi添加常用扩展方法及思维发散

て烟熏妆下的殇ゞ 提交于 2020-02-28 14:45:34
前言 在WebAPi中我们通常需要得到请求信息中的查询字符串或者请求头中数据再或者是Cookie中的数据,如果需要大量获取,此时我们应该想到封装一个扩展类来添加扩展方法,从而实现简便快捷的获取。 WebAPi常用扩展方法 (1)获取所有键值对 /// <summary> /// 获取所有键值 /// </summary> /// <param name="request"></param> /// <returns></returns> public static Dictionary<string, string> GetQueryStrings(this HttpRequestMessage request) { return request.GetQueryNameValuePairs().ToDictionary(k => k.Key, v => v.Value, StringComparer.OrdinalIgnoreCase); } (2)获取单个key对应value /// <summary> /// 获取单个键值 /// </summary> /// <param name="request"></param> /// <param name="key"></param> /// <returns></returns> public static string

js获取object类型所有的键值对

心已入冬 提交于 2020-02-07 02:20:51
万物皆对象,而对象完全可以用键值对来表示,所以,在js中,也是通过键值对来表示对象的,在开发中,我在修改的时候,知道属性值可以直接用点.符号来获取值,但是写common.js的时候,发现这个属性名称是变化的,也就是这样就不能通过点来动态获取了,那么这个怎么获取呢? 先看下面 var obj = {"name1":"张三","name2":"李四"}; var key = "name1"; var value = obj.key;//得到了"undefined" value = obj.name1;//得到了"张三" 其实我是想动态给key赋值,然后得到key为多少所对就的值。但这种做法行不通,obj.key会去找obj下key为"key"所对应的值,结果当然是找不到喽。 那么既然是键值对,那么是不是可以通过 object[key] 来获取这个value呢?然后我就尝试着用 obj[key];//这样获取的就是张三 然后呢,经过查询,还有另外一种方法来说去属性值,就是 eval("obj."+key)。 综上,一共有两种方法来获取属性值 一、var key = "name1";var value = obj[key]; 二、var key = "name1";var value = eval("obj."+key); 来源: https://www.cnblogs.com

多表联合查询

血红的双手。 提交于 2020-01-29 22:35:49
关联数据库字典表的多表联合查询 inner join…on 自动连接 需要用到表的所有信息时,可以用以下两种方法 1) left join…on… 左连接 (以左为准,右边没有NULL代替) 2) right join…on… 右连接(以右为准,左边没有NULL代替) 3) full join …on… 完全外连接 insert into employee (id,position,xueli,emplyee_name) values(1,1,4,'杨忠宇'); 就是说这个员工 是高中学历 职位是项目经理 怎样才能把他的个人信息查找出来的? select a.emplyee_name,b.item_value,c.item_value from employee a join my_dictionary b on b.item_type = '职位' and a.position = b.id join my_dictionary c on c.item_type = '学历' and a.xueli=c.id where a.id=1; 如果有的员工没有学历 那么就用 left select a.emplyee_name,b.item_value,c.item_value from employee a left outer join my_dictionary b on b

Spark学习(二)scala语法

江枫思渺然 提交于 2020-01-17 19:20:42
一,变量 1,基本数据类型 2,基本运算符 3,定义变量 4,复杂变量 (1)定义数组Array: 声明:val aList=new Array[数据类型type](n):声明存储数据类型为type的n个对象,数组初始化为null 声明:val aList=Array(n1,n2,n3...):声明时,可以不用声明数据类型。 调用:aList(m):调用第m个元素。 声明多维数组:val aList=Array.ofDim[数据类型](a,b):声明行为a,列为b的二维数组 调用多维数组中的元素:aList(a1)(b1):调用数组中行为a1,列为b1的元素 (2)定义元组Tuple(对多个不同类型的对象的简单封装): 声明: val tStudent=("name1",23,"男",560.00):声明元组类型学生的信息为(姓名,年龄,性别,月开销) 调用:tStudent . _1(取出"name1");tStudent . _2(取出23);tStudent . _3(取出"男").... (3)定义容器Collection(导包scala.collection;scala.collection.mutable;scala.collection.immutable) scala.collection:封装了可变容器和不可变容器的通用操作的超类( 从上到下依次继承都是特质

SQL 之 行列互换

▼魔方 西西 提交于 2020-01-01 07:25:53
普通行列转换 (爱新觉罗.毓华 2007-11-18于海南三亚) 假设有张学生成绩表(tb)如下: Name Subject Result 张三 语文  74 张三 数学  83 张三 物理  93 李四 语文  74 李四 数学  84 李四 物理  94 */ -- ----------------------------------------------------------------------- /* 想变成 姓名 语文 数学 物理 ---------- ----------- ----------- ----------- 李四 74 84 94 张三 74 83 93 */ create table tb ( Name varchar ( 10 ) , Subject varchar ( 10 ) , Result int ) insert into tb(Name , Subject , Result) values ( ' 张三 ' , ' 语文 ' , 74 ) insert into tb(Name , Subject , Result) values ( ' 张三 ' , ' 数学 ' , 83 ) insert into tb(Name , Subject , Result) values ( ' 张三 ' , ' 物理 ' , 93 )

sql行列互换

不问归期 提交于 2020-01-01 07:25:31
普通行列转换 (爱新觉罗.毓华 2007-11-18于海南三亚) 假设有张学生成绩表(tb)如下: Name Subject Result 张三 语文  74 张三 数学  83 张三 物理  93 李四 语文  74 李四 数学  84 李四 物理  94 */ -- ----------------------------------------------------------------------- /* 想变成 姓名 语文 数学 物理 ---------- ----------- ----------- ----------- 李四 74 84 94 张三 74 83 93 */ create table tb ( Name varchar ( 10 ) , Subject varchar ( 10 ) , Result int ) insert into tb(Name , Subject , Result) values ( ' 张三 ' , ' 语文 ' , 74 ) insert into tb(Name , Subject , Result) values ( ' 张三 ' , ' 数学 ' , 83 ) insert into tb(Name , Subject , Result) values ( ' 张三 ' , ' 物理 ' , 93 )