Tag: stringbuffer

StringBuilder和StringBuffer之间的区别

StringBuffer和StringBuilder之间的主要区别是什么? 在决定其中任何一个时,是否存在任何性能问题?

EnsureCapacity如何在Java中工作?

StringBuffer buff1 = new StringBuffer(“tuts point”); System.out.println(“Old Capacity of buff1 = ” + buff1.capacity()); buff1.ensureCapacity(28); System.out.println(“New Capacity of buff1 = ” + buff1.capacity()); StringBuffer buff2 = new StringBuffer(“compilejksde”); System.out.println(“Old Capacity of buff2= ” + buff2.capacity()); buff2.ensureCapacity(75); System.out.println(“New Capacity of buff2= ” + buff2.capacity());

在Java中将Char数组转换为List

任何人都可以帮助我并告诉如何将char数组转换为列表,反之亦然。 我正在尝试编写一个用户输入字符串的程序(例如”Mike is good” ),在输出中,每个空格都被”%20″替换(即”Mike%20is%20good” )。 虽然这可以通过多种方式完成,但由于插入和删除在链表中需要O(1)时间,我想用链表进行尝试。 我正在寻找将char数组转换为列表,更新列表然后将其转换回来的方法。 public class apples { public static void main(String args[]) { Scanner input = new Scanner(System.in); StringBuffer sb = new StringBuffer(input.nextLine()); String s = sb.toString(); char[] c = s.toCharArray(); //LinkedList l = new LinkedList(Arrays.asList(c)); /* giving error “Syntax error on token ” char”, Dimensions expected after this token”*/ […]

防止敏感数据暴露于PCI标准 – response.getWriter()。write(xml.toString())

我正在修改代码审计报告的代码。 它对具有语法response.getWriter().write(xml.toString())的行说“预防敏感数据的暴露”。 整个代码如下。 String alertId = request.getParameter(“alertId”) != null ? request.getParameter(“alertId”) : “”; String desc=AAAA.getBBBB(Long.parseLong(AAAA.getCCCC(alertId))); StringBuffer xml = new StringBuffer(); xml.append(“”); xml.append(“”); xml.append(“”); xml.append(“”); xml.append(desc); xml.append(“”); xml.append(“”); xml.append(“”); response.getWriter().write(xml.toString()); // ISSUE IN THIS LINE response.setContentType(“text/xml”); response.setHeader(“Cache-Control”, “no-cache”); 我做了足够的家庭工作,可以修复XSS攻击,并使用ESAPI。 但不知道如何解决这个问题。 请提供建议报告针对报告的问题提供以下信息。 “通过网页泄漏toString()结果(”xml“)” 经过一天的研发后,我发现sax解析器在这种情况下可以帮助我。 它实际上是StringBuffer.toString()语法中的内存泄漏,因为敏感数据被暴露和丢失。 但我不知道如何实现。 在某些地方我发现使用StringBuilder()类而不是StringBuffer()类。 任何人都可以帮助我或提出宝贵的建议。 提前致谢。 另外,我对另一种代码也有同样的问题。 它在下面。 StringBuffer content = (StringBuffer)file.get(“content”); response.setContentLength((int)content.length()); response.getWriter().write(content.toString()); […]

如何在数组末尾添加元素?

我想知道如何在数组的末尾添加或追加一个新元素。 有没有简单的方法在最后添加元素? 我知道如何使用StringBuffer,但我不知道如何使用它来添加数组中的元素。 没有ArrayList或列表我更喜欢它。 我想知道StringBuffer是否可以处理整数。

StringBuffer等于方法比较内容吗?

可能重复: 将StringBuffer内容与equals进行比较 StringBuffer s1= new StringBuffer(“Test”); StringBuffer s2 = new StringBuffer(“Test”); if(s1.equals(s2)) { System.out.println(“True”); } else { System.out.println(“False”); } 为什么那段代码打印“假”?

字符串是不可变的 – 这意味着我永远不应该使用+ =而且只能使用StringBuffer?

字符串是不可变的,这意味着,一旦创建它们就无法更改。 那么,这是否意味着如果你用+ =附加东西比你创建一个StringBuffer并附加文本那么需要更多的内存? 如果你使用+ =,每次必须保存在内存中时你会创建一个新的’对象’,不是吗?

StringBuffer的容量是多少?

当我运行此代码时: StringBuffer name = new StringBuffer(“stackoverflow.com”); System.out.println(“Length: ” + name.length() + “, capacity: ” + name.capacity()); 它给出了输出: 长度:17,容量:33 明显的长度与字符串中的字符数有关,但我不确定容量是多少? 在重新分配空间之前,StringBuffer可以容纳的字符数是多少?

字符串连接中的“+”是否会影响效率?

我在java中使用过String,StringBuilder和StringBuffer。 我想到了这个问题,而我从效率的角度思考。 字符串连接中的“+”是否会影响效率?

如何获取Java对象的地址?

有没有办法获取Java对象的地址? 问题来自哪里?:首先,我读取属性文件,文件中的所有数据都放在表格中。 属性文件可以更新。 所以,我想听那个文件。 我使用PropertyChangeSupport和PropertyChangeListener来监听对象。 updatedStatus = new basit.data.MyString(); updatedStatus.addPropertyChangeListener(new java.beans.PropertyChangeListener() { //After changes “i”, we inform the table model about new value public void propertyChange(PropertyChangeEvent evt) { Object objec=evt.getNewValue(); tableModel.setValueAt(objec.toString(), 0, 5); } }); 如果updatedStatus更改,那么我更新表。 MyString类具有私有字符串“Value”。 我想听属性文件。 因此,它应该使updatedStatus.value和属性文件的字符串在相同的地址相等。 如果我能做到,所以我不需要听属性文件。 updatedStatus.setValue(resourceMap.getString(“HDI.Device.1.Name”)); 我试图使用StringBuffer,但我无法实现它。 这就是为什么,我问了这个问题。