问个小问题,list集合A转成字符串B,字符串B还能再转回list吗

内容同标题:
list集合A转成字符串B,字符串B还能再转回list吗?
处了用,分割成数组再转list还有别的方法吗?
因为我数据本身就是有,的,
再用,分割就不对了

取出来的:
[!@#!#!@#!@#!@####################,。, sdfsd2斯蒂芬,yryr]
存之前应该是
!@#!#!@#!@#!@####################,。和sdfsd2斯蒂芬,yryr这两个,但是存到数据库,应该出现的双引号丢失

4个回答

是可以的,不过需要处理,list集合的字符串有规律吧,拆分之后再重新添加

penpenrou
大盆儿套小盆儿 回复亦金一金土金: 取出来的: [!@#!#!@#!@#!@####################,。, sdfsd2斯蒂芬,yryr] 存之前应该是 !@#!#!@#!@#!@####################,。和sdfsd2斯蒂芬,yryr这两个,但是存到数据库,应该出现的双引号丢失
3 年多之前 回复
penpenrou
大盆儿套小盆儿 回复亦金一金土金: [!@#!#!@#!@#!@####################,。, sdfsd2斯蒂芬,yryr]
3 年多之前 回复
qq_30081107
非鱼2008 回复大盆儿套小盆儿: 你把你现有list集合和转化的字符串b贴出来,大家直接就可以给方法了
3 年多之前 回复
penpenrou
大盆儿套小盆儿 规律你是说用,分割成数组再转list吗?但是如果我数据本身就是有,的,再用,分割就不对了
3 年多之前 回复

可以滴,可以写一个接口,对list的值进行转化的,和字符串转list的,list 如果多种类型key,可以细分拆解

penpenrou
大盆儿套小盆儿 我的意思是把从数据库中取出来的存储前是list,存储后已经变成字符串的再变回List类型
3 年多之前 回复

可以转成json字符串,通过JSONArray将字符串转成List集合,代码如下:

 List<String> list = new ArrayList<String>();
        list.add("xiaoming");
        list.add("xiaoma");
        list.add("xiaohua");

        String str = JSON.toJSONString(list);
        System.out.println("List转String:" + str);

        List<String> list1 = JSONArray.parseArray(str, String.class);
        for (int i = 0; i < list1.size(); i++) {
            System.out.println("str转list:" + list.get(i));
        }

返回结果:
List转String:["xiaoming","xiaoma","xiaohua"]
str转list:xiaoming
str转list:xiaoma
str转list:xiaohua

penpenrou
大盆儿套小盆儿 回复小草mlc: 主要是这个不是新业务,线上的数据很多都是没有引号的,他们以前写的时候可能没注意,展示的话有引号和没引号的要一起展示
3 年多之前 回复
mlc1218559742
小草mlc 回复大盆儿套小盆儿: 我用我的项目测试了,保存json字符串,双引号没有丢失,取出来和原来一样
3 年多之前 回复
mlc1218559742
小草mlc 回复大盆儿套小盆儿: 存数据库之前先把list转成json字符串,再把取出来的字符串转成list,这样不行吗,你存进去的和取出来的不一样?
3 年多之前 回复
penpenrou
大盆儿套小盆儿 回复大盆儿套小盆儿: 具体的课看下我的问题描述,更新了,存储时双引号会丢失
3 年多之前 回复
penpenrou
大盆儿套小盆儿 我是直接从数据库里取出来的,存进去之前是list,取出来是list,但是是这种的[!@#!#!@#!@#!@####################,。, sdfsd2斯蒂芬,yryr]
3 年多之前 回复

没问题。直接把整个json存进去。 你说以前的数据有可能有引号,有可能没有,在分隔符这里做一个判断有就不加,没有就加上。 可能会麻烦一点

penpenrou
大盆儿套小盆儿 现在从库里面取出来的有的是有引号有的没引号,没有的用都好分隔不准确,因为没有引号的字符串里面本身可能就有逗号
3 年多之前 回复
penpenrou
大盆儿套小盆儿 现在的问题是分割符,用逗号分割不准确,因为有的数据里面可能就有逗号,没有办法用逗号分隔
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
jackson 字符串转换成List集合的问题请教
我使用了jackson先将一个List集合对象转换成json字符串后,再将json字符串转成List集合出了问题 ,报错信息如下: [code="java"] Exception in thread "main" org.codehaus.jackson.map.JsonMappingException: No suitable constructor found for type [simple type, class com.mailbill.HDataA]: can not instantiate from JSON object (need to add/enable type information?) at [Source: java.io.StringReader@147917a; line: 1, column: 3] at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163) at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObjectUsingNonDefault(BeanDeserializer.java:746) at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:683) at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580) at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:217) at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:194) at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:30) at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2732) at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1877) at com.mailbill.datacore.util.JsonUtil.jacksonToCollection(JsonUtil.java:315) at com.mailbill.TestJson.main(TestJson.java:27) [/code] 我的List集合中的对象里有一个属性也是一个集合,代码如下: HData.java [code="java"] package com.mailbill; import java.util.List; public class HDataA { private String name; private String code; private List<HDataB> dataBList ; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public List<HDataB> getDataBList() { return dataBList; } public void setDataBList(List<HDataB> dataBList) { this.dataBList = dataBList; } public HDataA(String name, String code, List<HDataB> dataBList) { super(); this.name = name; this.code = code; this.dataBList = dataBList; } } [/code] HDataB.java: [code="java"] package com.mailbill; public class HDataB { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public HDataB(String name) { super(); this.name = name; } } [/code] 我的测试类: [code="java"] package com.mailbill; import java.util.ArrayList; import java.util.List; import org.aspectj.apache.bcel.generic.ARRAYLENGTH; import com.mailbill.datacore.util.JsonUtil; public class TestJson { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { // TODO Auto-generated method stub List<HDataA> dataAlist = new ArrayList<HDataA>(); List<HDataB> dataBList = new ArrayList<HDataB>(); dataBList.add(new HDataB("hehe")); dataBList.add(new HDataB("xixi")); dataAlist.add(new HDataA("nidaye", "woqu", dataBList)); String str = JsonUtil.objectToJackson(dataAlist); System.out.println(str); dataAlist = JsonUtil.jacksonToCollection(str, List.class, HDataA.class); if(dataAlist ==null){ System.out.println(" dataAlist is null"); }else{ System.out.println(" ok "); } } } [/code] JsonUtion.java: [code="java"] private static ObjectMapper jacksonMapper = new ObjectMapper(); public static String objectToJackson(Object obj) throws Exception { return jacksonMapper.writeValueAsString(obj); } public static <T> T jacksonToCollection(String src,Class<?> collectionClass, Class<?>... valueType) throws Exception { JavaType javaType= jacksonMapper.getTypeFactory().constructParametricType(collectionClass, valueType); return (T)jacksonMapper.readValue(src, javaType); } [/code] 不知道jackson如何对这类集合进行转换?
请教关于Redis缓存Java的List问题?
假设我有个List<User>这样的list,我是直接把list序列化成字符串存进redis更好,还是存user的id集合List<String>然后取出来序列化之后再单个根据id去redis取更好?主要想知道哪个效率会更高,还是具体会和多少条数据实体类的属性有关系?
怎样把这个数据库的字符串重新转成list集合
[{"createByName":"0c792e1fa51841e0ae3ea5804286d12b","regUserEmails":"aa@qq.com","contentes":"sdsadadasd","regUserByName":"0c792e1fa51841e0ae3ea5804286d12b"}] 我现在要从数据库里拿出它然后再给这个集合里再添加一组数据
Java字符串问题,求大神帮帮忙
请用Java写这个程序,思考题: I am a student ! 定义一个方法: !student a am I 我有思路,但是我实现代码有困难,我的思路是:先将原字符串转换为字符数组,然后从头遍历,判断某个字符是否为空,一旦为空,将前面的存放到list集合中。然后继续从下一个开始遍历,然后判断是否为空,不为空继续向下遍历,然后继续遍历到为空的那个字符,然后继续将不为空的作为一个整体存入list集合中,往复循环进行,直至全部不为空的字符个数全部进入list集合中。然后使用方法反向输出list集合中所有字符。求大神帮我实现看看!
thymeleaf 字符串转成时间的问题
首先客户端传到数据库的格式是这样,并非时间戳。而是一个真正意义上的字符串 ![图片说明](https://img-ask.csdn.net/upload/201811/26/1543237524_819114.png) 我在thymeleaf 中直接遍历获取到的List集合 ![图片说明](https://img-ask.csdn.net/upload/201811/26/1543237672_809903.png) 这样根本不行,求大佬翻牌,帮忙想个解决方案
请教java对象集合用json转换成字符串的问题
如题,我在用JSONArray.fromObject()将对象集合转换成字符串的时候给我报了个如下图的异常![图片说明](https://img-ask.csdn.net/upload/201607/30/1469867156_465306.png) 这个异常是我用debug走到下面这段代码时抛出的 ``` JSONArray jsonArray=JSONArray.fromObject(ypyizhuList);//抛出异常的代码 String aa=jsonArray.toString(); ``` 其中ypyizhuList是一个对象集合。 为了大神忙好帮我解决问题,现将主要的代码贴出,希望有高手帮我解决下,自己实在不知道该怎么解决了,代码如下 ``` import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; import com.pb.entity.Qtfy; import com.pb.util.Ypyznr; public class CycfAction extends ActionSupport { private String feibie; private String lczhenduan; private String kebie; private String mark; private List<Ypyznr> ypyizhuList; private List<Qtfy> qtfyyizhuList; private Ypyznr ypyznr=new Ypyznr(); private Qtfy qtfy=new Qtfy(); public String cycf(){ HttpServletRequest request = ServletActionContext.getRequest(); String[] ypyizhu=request.getParameterValues("ypyizhu"); String[] qtfyyizhu=request.getParameterValues("qtfyyizhu"); ypyizhuList=new ArrayList<Ypyznr>(); qtfyyizhuList=new ArrayList<Qtfy>(); for(int i=0;i<ypyizhu.length;i++){ String[] objypyizhu=ypyizhu[i].split(","); ypyznr.setYpmc(objypyizhu[0]); ypyznr.setZddwsl(objypyizhu[1]); ypyznr.setZddw(objypyizhu[2]); ypyznr.setZxdwsl(objypyizhu[3]); ypyznr.setZxdw(objypyizhu[4]); ypyznr.setJe(objypyizhu[5]); ypyizhuList.add(ypyznr); } for(int a=0;a<qtfyyizhu.length;a++){ String[] objqtfyyizhu=qtfyyizhu[a].split(","); qtfy.setQtfymc(objqtfyyizhu[0]); qtfy.setQtfyje(objqtfyyizhu[1]); qtfyyizhuList.add(qtfy); } JSONArray jsonArray=JSONArray.fromObject(ypyizhuList);//抛出异常的代码 String aa=jsonArray.toString(); JSONArray jsonArraytow=JSONArray.fromObject(qtfyyizhuList); String bb=jsonArraytow.toString(); System.out.println(aa); System.out.println(bb); return "success"; } ``` 我怀疑是jar包的问题,但是不知道是不是jar包有问题,现把所有的jar包也贴出来吧,望高手帮忙看下,所有jar包如下图 ![图片说明](https://img-ask.csdn.net/upload/201607/30/1469868271_895885.png) ![图片说明](https://img-ask.csdn.net/upload/201607/30/1469868288_757893.png)
求助,对一串字母进行排序
1、比如输入字符串x,值为acbd,要把他排序为abcd 2、把字符串X中的数据转到一个集合中去,(这个集合可以是list也可以是Map) 3、对Map或LIst集合排序即可
如何将json字符串包含多个list集合嵌套加到实体对象中?
类一: public class DriverPointResult{ public List<Text> basicInfo; public List<IllegalItem> illegalInfo; public List<IllegalItem> illegalNoPaymentBeforeClearPoint; ....get set 方法 } 类二: public class Text{ :wink: private String content; private List<Text> subInfo; private String title; ....get set 方法 } 类三: public class IllegalItem { public Double amount; public String dealTime; public String illegalAction; public String illegalAddress; public int number; public Boolean payed; public String point; ....get set 方法 } 如下相当于json字符串: String resptransport = "[{'basicInfo':[{'content':'content1','subInfo':[{'content':'content11','subInfo':'','title':'title11'},{'content':'content12','subInfo':'','title':'title12'}],'title':'title1'}],'illegalInfo':[{'amount':'amount','dealTime':'dealTime','illegalAction':'illegalAction','illegalAddress':'illegalAddress','number':'number','payed':'payed','point':'point'}],'illegalNoPaymentBeforeClearPoint':[{'amount':'amount','dealTime':'dealTime','illegalAction':'illegalAction','illegalAddress':'illegalAddress','number':'number','payed':'payed','point':'point'}]}]"; 请求高人相助!!!需要要得到一个DriverPointResult实体类
json array转换list集合,很多数据都为空,或不对怎么办
[图片说明](https://img-ask.csdn.net/upload/201512/12/1449903513_234915.png) [图片说明](https://img-ask.csdn.net/upload/201512/12/1449903557_286439.png) [图片说明](https://img-ask.csdn.net/upload/201512/12/1449903552_298078.png) json数组转换成list<>的时候,数据都为空,这是为什么,实体类也定义过了,数据也都对,怎么才能将json字符串或者json数组转换成list集合的对象啊,试了很多种方法都不行
一道有趣的字符串笔试题 以及队列问题笔试题
1. 请完成函数,该函数输入一个纯英文字符串,请打印出该字符串中每个字符(区分大小写)出现的次数,并按照出现的次数从大到小排列,如输入“asisaB”,则打印出a=2,s=2,i=1,B=1。 注:要求不能使用如Map,List等集合类。 2.使用Java实现阻塞队列BlockQueue,请插入数据调用Offer,如果已满则等待。获取数据调用take,如果队列为空,则等待。请完成该类 请高人写出程序代码 加有些详细注解更佳 谢谢!!!!!!!!!!!!!!!!!
集合题,输出满足调件的集合
写一个完整的程序,实现功能是,已知集合s={‘A’,‘B’,‘C’,‘D’}.输入n,要求输出所有满足条件的字符串:长度为n,字符串的每个字符都是集合s的元素
一道精炼字符串笔试题及队列试题
1. 请完成函数,该函数输入一个纯英文字符串,请打印出该字符串中每个字符(区分大小写)出现的次数,并按照出现的次数从大到小排列,如输入“asisaB”,则打印出a=2,s=2,i=1,B=1。 <br />注:要求不能使用如Map,List等集合类。 <br /> <br /> <br />2.使用Java实现阻塞队列BlockQueue,请插入数据调用Offer,如果已满则等待。获取数据调用take,如果队列为空,则等待。请完成该类 <br /> <br />望详细指点迷津
ibats 怎么把 &apos; 转换成 '
我准备往ibats XML文件里面的SQL的一个列传入一个字符串:'75','150','300' 此字符串是75,150,300经过,拆分成LIST集合之后再拼接'而成的,在JAVA的逻辑层完成的操作,然后再传入XML文件里面,通过log打出来没什么问题,但是插入到SQL之后,LOG打出来的字符串就变成了:&-a-p-o-s;75&-a-p-o-s-;,&-a-p-o-s;150&-a-p-o-s;,&-a-p-o-s;300&-a-p-o-s; ,然后报错 中间的 - 号是我自己加上去的,不然会直接变成 ' 。 请问我应该怎样拼接字符串才能使此字符串在SQL语句中正确的显示为:'75','150','300' 。 求大神们不吝指教,非常非常感谢。
关于java中String类型汉字字符串的升序问题
本人新手,遇到一个项目问题: 有若干个对象,每个对象里面都有一个String类型的姓名属性,现在要求根据姓名属性的升序将这些对象排列在List集合里,问如何将String类型的汉字升序排列。 求大神
C#通过Socket实现多文件传输
大概需求是客户端发送一个xml文件名给服务器,服务器返回xml文件。这一步没问题。 后面客户端需要解析xml文件,根据解析出的文件名,去服务器获取指定文件。现在问题是第一次服务器发送xml文件之后就侦听不到客户端后面的请求了 服务端代码: ``` #region 窗体加载 private void Form1_Load(object sender, EventArgs e) { Socket socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//Socket设置、IPv4、Stream类型套接字、TCP协议 IPAddress ip = IPAddress.Any;//获取本机IP IPEndPoint point = new IPEndPoint(ip, 18002);//设置IP和端口 socketWatch.Bind(point);//绑定端口 memoEdit1.Text = "开始侦听..."; socketWatch.Listen(100);//最大连接数 Thread th = new Thread(SendFileFuncssss);//创建新线程 th.Start(socketWatch);//启动线程 th.IsBackground = true;//设置后台运行线程 } #endregion #region 根据客户端传输文件名发送指定文件 public void SendFileFuncssss(object obj) { Socket socket = obj as Socket; while (true) { Socket socketServices = socket.Accept(); byte[] buffer = new byte[1024]; int num = socketServices.Receive(buffer);//接收到字节数 string str = Encoding.UTF8.GetString(buffer, 1, num - 1);//接收到字符串 if (buffer[0] == 0)//表示接收到的是消息数据 { TxtAddContent(socketServices.RemoteEndPoint + "连接成功"); string FileName = str; if (FileName.Equals("AutoUpdater.xml"))//获取xml配置文件 { //发送XML文件到客户端 using (FileStream fs = new FileStream(AppDomain.CurrentDomain.BaseDirectory + FileName, FileMode.Open)) { byte[] arrFile = new byte[1024 * 1024 * 5]; int length = fs.Read(arrFile, 0, arrFile.Length); byte[] arrFileSend = new byte[length + 1]; arrFileSend[0] = 1; // 用来表示发送的是xml文件数据 Buffer.BlockCopy(arrFile, 0, arrFileSend, 1, length); socketServices.Send(arrFileSend);// 发送数据到客户端 } } if (!FileName.Equals("AutoUpdater.xml")) { //发送更新文件到客户端 using (FileStream fs = new FileStream(AppDomain.CurrentDomain.BaseDirectory + "\\FileFolder\\" + FileName, FileMode.Open)) { byte[] arrFile = new byte[1024 * 1024 * 50]; int length = fs.Read(arrFile, 0, arrFile.Length);//获取文件长度 byte[] arrFileSend = new byte[length + 1]; arrFileSend[0] = 1; // 用来表示发送的是xml文件数据 Buffer.BlockCopy(arrFile, 0, arrFileSend, 1, length); socketServices.Send(arrFileSend);// 发送数据到服务端 } } } } } #endregion ``` 客户端代码: ``` Socket socketClient = obj as Socket; socketClient.Connect(ipEndPoint); #region 修改本地文件名称 string Oldpath = AppDomain.CurrentDomain.BaseDirectory + "AutoUpdater.xml";//修改前名称 string Newpath = AppDomain.CurrentDomain.BaseDirectory + "AutoUpdater_Back.xml";//修改后名称 if (File.Exists(Oldpath)) { File.Delete(Newpath); File.Move(Oldpath, Newpath);//更改文件名 } #endregion if (socketClient.Connected) { try { TxtReceiveAddContent("连接成功"); //发送链接成功提示 byte[] arrMsg = Encoding.UTF8.GetBytes("AutoUpdater.xml"); byte[] arrSendMsg = new byte[arrMsg.Length + 1];//加一位标识用于表示是文字消息还是文件 arrSendMsg[0] = 0; // 用来表示发送的是消息数据 Buffer.BlockCopy(arrMsg, 0, arrSendMsg, 1, arrMsg.Length); socketClient.Send(arrSendMsg); //获取文件 string dirPath = Application.StartupPath; byte[] buffer = new byte[1024 * 1024 * 5]; int lenght = socketClient.Receive(buffer); if (buffer[0] == 1) { using (FileStream fs = new FileStream(dirPath + "\\AutoUpdater.xml", FileMode.Create)) { fs.Write(buffer, 1, lenght - 1); } TxtReceiveAddContent("配置文件接收成功:AutoUpdater.xml");//追加提示备注 } #region 获取XML里需要更新的文件和需要删除的文件 List<string> updatelist = new List<string>();//需要更新的文件集合 List<string> deletelist = new List<string>();//需要更新的文件集合 //获取历史xml文件更新时间以及更新版本 XDocument Olddocument = XDocument.Load(AppDomain.CurrentDomain.BaseDirectory + "AutoUpdater_Back.xml"); //获取到XML的根元素进行操作 XElement Oldroot = Olddocument.Root; XElement Oldele = Oldroot.Element("UpdateInfo"); //获取旧更新时间标签的值 XElement OldUpdateTime = Oldele.Element("UpdateTime"); //获取旧版本号标签的值 XElement OldVersion = Oldele.Element("Version"); //获取最新xml文件更新时间以及更新版本 XDocument Newdocument = XDocument.Load(AppDomain.CurrentDomain.BaseDirectory + "AutoUpdater.xml"); //获取到XML的根元素进行操作 XElement Newroot = Newdocument.Root; XElement Newele = Newroot.Element("UpdateInfo"); //获取旧更新时间标签的值 XElement NewUpdateTime = Newele.Element("UpdateTime"); //获取旧版本号标签的值 XElement NewVersion = Newele.Element("Version"); if (NewUpdateTime != OldUpdateTime || NewVersion != OldVersion) { //获取需要更新的文件列表 XElement NewUpList = Newroot.Element("UpdateList"); IEnumerable<XElement> UpList = NewUpList.Elements(); foreach (XElement item in UpList) { updatelist.Add(item.Value); } //获取需要删除的文件列表 XElement NewDelList = Newroot.Element("DeleteList"); IEnumerable<XElement> DelList = NewDelList.Elements(); foreach (XElement item in DelList) { deletelist.Add(item.Value); } } #endregion #region 循环获取更新文件 for (int i = 0; i < updatelist.Count; i++) { //发送链接成功提示 byte[] FileName = Encoding.UTF8.GetBytes(updatelist[i]); byte[] SendFileName = new byte[FileName.Length + 1];//加一位标识用于表示是文字消息还是文件 SendFileName[0] = 0; // 用来表示发送的是消息数据 Buffer.BlockCopy(FileName, 0, SendFileName, 1, FileName.Length); socketClient.Send(SendFileName); //获取文件 string FilePath = Application.StartupPath + "\\WebFile"; byte[] bufferByFile = new byte[1024 * 1024 * 50]; int lenghtByFile = socketClient.Receive(bufferByFile); if (bufferByFile[0] == 1) { using (FileStream fs = new FileStream(FilePath + "\\" + updatelist[i], FileMode.Create)) { fs.Write(bufferByFile, 1, lenghtByFile - 1); } TxtReceiveAddContent("文件接收成功:" + updatelist[i]); } } #endregion #region 循环删除指定文件 for (int i = 0; i < deletelist.Count; i++) { try { string path = AppDomain.CurrentDomain.BaseDirectory + "\\WebFile\\" + deletelist[i]; File.Delete(path); TxtReceiveAddContent("删除文件[" + deletelist[i] + "]成功"); } catch (Exception) { TxtReceiveAddContent("删除文件[" + deletelist[i] + "]失败"); continue; } } #endregion } catch (Exception ex) { File.Move(Newpath, Oldpath);//连接失败,还原文件名 MessageBox.Show(ex.ToString()); throw; } ``` 调试在客户端进循环的时候服务端侦听不到了 刚接触socket,多谢大佬们解答
内连接查询得到的地址如何以字符串形式输出啊?
内连接查询结果: [[Ljava.lang.Object;@201b4434, [Ljava.lang.Object;@5e1ac263, [Ljava.lang.Object;@2ed021d9, [Ljava.lang.Object;@625e4591, [Ljava.lang.Object;@1b29650b 其中包含两个表的信息,还包含日期格式的信息,不知道用什么方法能让他以字符串格式的方式输出?请教大家了,谢谢! 业务逻辑代码: 分页查询,先查出LIST集合,后查出总条数 @SuppressWarnings("unchecked") @Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED) public <T> QueryResult<T> getScrollDate(Class<BBasic> class1,Class<CClient> class2, int firstindex, int maxresult, String selectsql) { //创建一个QueryResult对象 QueryResult qr=new QueryResult<T>(); //实体类的名称 String entityname1=class1.getSimpleName(); String entityname2=class2.getSimpleName(); System.out.println(entityname1); System.out.println(entityname2); Query query=sessionFactory.getCurrentSession().createQuery("select p.id,p.project,c.company,c.linkman,p.number,p.start from "+entityname1+" p join p.client c"); //设置分页数据 if(firstindex !=-1 && maxresult !=-1) { query.setFirstResult(firstindex); query.setMaxResults(maxresult); } //将查询出的结果放到QueryResult的resultlist属性中 qr.setResultlist(query.list()); query=sessionFactory.getCurrentSession().createQuery("select count(p) from "+entityname1+" p join p.client c"); qr.setTotalrecord((Long)query.uniqueResult()); return qr; } 控制层代码 @RequestMapping("/basicAction_query") public void query(HttpServletRequest request,HttpServletResponse response) throws IOException{ int currentPage=Integer.parseInt(request.getParameter("page")); int pageSize=Integer.parseInt(request.getParameter("rows")); PageView pageview=new PageView(currentPage,pageSize); String selectsql=""; QueryResult<BBasic> queryResult=basicService.getScrollDate( BBasic.class,CClient.class , (currentPage-1)*pageview.getMaxresult(), pageview.getMaxresult(), selectsql); long totalrecord=queryResult.getTotalrecord(); List<BBasic> resultlist=queryResult.getResultlist(); System.out.println(totalrecord); System.out.println(resultlist); //是个地址! JsonConfig jsonConfig=new JsonConfig(); jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor()); List list=JSONArray.fromObject(resultlist,jsonConfig); System.out.println(list); //用地址转换JSON格式得到的是一个数组形式的list集合,并且是在没有日期格式的情况下可以转换,如果有日期格式直接报格式不匹配错误! 如果日期能够在集合中显示出来分页问题就解决了!请教大神如何解决这个问题,谢谢!
怎么把遍历list集合输出的元素对其
图一怎么把list集合遍历输出的元素对其,。图二怎么把字符串转为int类型,,。。图二的做法报异常,该怎么做![图片说明](https://img-ask.csdn.net/upload/201605/12/1463038290_464038.png)![图片说明](https://img-ask.csdn.net/upload/201605/12/1463038315_614640.png)
如何把一个包含List的bean插入到数据库中?
![图片说明](https://img-ask.csdn.net/upload/201511/27/1448589565_215670.jpg) 这是一个Bean List里的数据我已经从页面接到,如何把这个集合直接插入到数据库中 这三个List里面装的都是字符串
如何判断点是否在一个矩形范围内?
前台传递参数给我一个多边形的坐标数组(经纬度数组),我要设置能正好包围这个多边形的两个点(矩形的对角线上的两个点),作为参数去请求一组数据,字符串形式返回,格式如下:[[lon1,lat1,val1],[lon2,lat2,val2]...[lonN,latN,valN]]。lon和lat是矩形范围内所有经纬度。我用fastJson把这个大字符串转换成了List<BigDecimal[]>,现在的问题就是,如何遍历这个集合的时候去把这个多边形不存在于矩形范围内的那些坐标点都去除掉。效率能高更好。完全没有思路。
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截
本篇文章主要讲解 token、session 等用户认证方案的区别并分析常见误区,以及如何通过前后端的配合实现完善的访问拦截,为下一步权限控制的实现打下基础。
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入  假设现有4个人
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
      11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
Android 9.0系统新特性,对刘海屏设备进行适配
其实Android 9.0系统已经是去年推出的“老”系统了,这个系统中新增了一个比较重要的特性,就是对刘海屏设备进行了支持。一直以来我也都有打算针对这个新特性好好地写一篇文章,但是为什么直到拖到了Android 10.0系统都发布了才开始写这篇文章呢?当然,一是因为我这段时间确实比较忙,今年几乎绝大部分的业余时间都放到写新书上了。但是最主要的原因并不是这个,而是因为刘海屏设备的适配存在一定的特殊性
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下
日均350000亿接入量,腾讯TubeMQ性能超过Kafka
整理 | 夕颜出品 | AI科技大本营(ID:rgznai100) 【导读】近日,腾讯开源动作不断,相继开源了分布式消息中间件TubeMQ,基于最主流的 OpenJDK8开发的
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
相关热词 基于c#波形控件 c# 十进制转十六进制 对文件aes加密vc# c#读取栈中所有的值 c# rsa256加密 好 学c# 还是c++ c# 和java的差距 c# curl网络框架 c# https证书请求 c# 中崎
立即提问