如何在不删除java中的转义字符的情况下,按原样从hashmap检索数据
从hashmap读取时已删除转义字符如何在不删除java中的转义字符的情况下,按原样从hashmap检索数据,java,hashmap,Java,Hashmap,从hashmap读取时已删除转义字符 import java.util.*; // our main class becomes a file but the main method is still found public class HelloWorld { public static void main (String[] args) throws java.lang.Exception { // your code goes here HashMap<Integ
import java.util.*;
// our main class becomes a file but the main method is still found
public class HelloWorld
{
public static void main (String[] args) throws java.lang.Exception
{
// your code goes here
HashMap<Integer,String> map = new HashMap<Integer,String>();
map.put(1,"hai");
map.put(2,"h\"ai");
Iterator entries = map.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry entry = (Map.Entry) entries.next();
Integer key = (Integer)entry.getKey();
String value =(String) entry.getValue();
System.out.println("Key = " + key + ", Value = " + value);
}
}
}
Output: Key = 1, Value = hai
Key = 2, Value = h"ai
Expected: Key = 1, Value = hai
Key = 2, Value = h\"ai
import java.util.*;
//我们的主类变成了一个文件,但主方法仍然存在
公共类HelloWorld
{
公共静态void main(字符串[]args)引发java.lang.Exception
{
//你的密码在这里
HashMap=newHashMap();
图.put(1,“hai”);
map.put(2,“h\”ai);
迭代器条目=map.entrySet().Iterator();
while(entries.hasNext()){
Map.Entry=(Map.Entry)entries.next();
Integer key=(Integer)entry.getKey();
String value=(String)entry.getValue();
System.out.println(“Key=“+Key+”,Value=“+Value”);
}
}
}
输出:Key=1,Value=hai
键=2,值=h“ai
预期值:Key=1,Value=hai
键=2,值=h\“ai
这不是关于数据打印,我的意思是当从映射中提取值时应该得到相同的状态。我进行了调试
我能够在映射中看到正确的数据。当我执行getValue时,它的输出字符串没有“\”字符
注意:如果我们打印System.out.println(“hahs\”dk”),这与打印数据无关;
它会给hahs“dk。我担心运行时的价值
请提供一些帮助或建议一些链接。
谢谢你也许可以使用
“hahs\\\\“dk”
。这将使它成为“hahs\”dk“
我无法更改数据。数据由客户端发送。当客户端将数据发送到服务器时,它能够正确地捕获到hashmap中。但是在读取表单时,我丢失了它。然后将数据作为字符串并使用数据。替换(“\”,“\\”)
没有“在读取表单时我丢失了”这样的事情“。如果客户端发送一个反斜杠,并且它进入映射,那么当您从映射中获取字符串时,您也会得到它。您向我们展示的是错误的调试值。@Hackerdarshi,Java可以正确处理带反斜杠的字符串。如果客户端确实发送了带反斜杠的字符串,则无需“转义”,它可以使用“hahs\\\”dk“
。这将使其“hahs\”dk”
我无法更改数据。客户端发送的数据。当客户端将数据发送到服务器时,它能够正确地捕获到hashmap中。但是当我从表中读取数据时,我丢失了它。然后将数据作为字符串获取并使用数据。替换(“\”,“\\\”)
没有“从表中读取时,我丢失了它”这样的事情。如果客户端发送一个反斜杠,并且它进入映射,那么当您从映射中获取字符串时,您也会得到它。您向我们展示的是错误的调试值。@Hackerdarshi,Java可以正确处理带反斜杠的字符串。如果客户端确实发送带有反斜杠的字符串,则无需“转义”它