我有myData地图如下
var myData = new Object();
myData[10427] = "Description 10427";
myData[10504] = "Description 10504";
myData[10419] = "Description 10419";
Run Code Online (Sandbox Code Playgroud)
但现在当我迭代myData时,我在chrome中没有得到相同的sequnce,IE在Firefox中工作正常.它按密钥的升序迭代
for (var key in myData) {
alert("key is"+key);
}
Run Code Online (Sandbox Code Playgroud)
我在警报中按升序获得输出 10419,10427,10504
我如何确保以与插入地图中的数据相同的顺序迭代?
我的输入字符串是
String input=" 4313 :F:7222;scott miles:F:7639;Henry Gile:G:3721";
Run Code Online (Sandbox Code Playgroud)
它是一个带分号分隔符的字符串.它可以包含由分号分隔的任意数量的值
我想在java中使用组捕获功能并捕获以下值(即:分隔)
4313 :F:7222
scott miles:F:7639
Henry Gile:G:3721
Run Code Online (Sandbox Code Playgroud)
我知道我可以在Spring类下使用split函数但是出于某种原因我想在这里使用组捕获.
我试过了
Matcher myMatcher = Pattern.compile("(.*?);").matcher(input);
while (myMatcher.find()) {
System.out.println("group is " + myMatcher.group());
}
Run Code Online (Sandbox Code Playgroud)
输出是
group is 4313 :F:7222;
group is scott miles:F:7639;
Run Code Online (Sandbox Code Playgroud)
但预期的产出是
group is 4313 :F:7222
group is scott miles:F:7639
group is Henry Gile:G:3721
Run Code Online (Sandbox Code Playgroud)
我没有得到如何捕获最后一个分号后的最后一个值,我也想摆脱分号,正如我在预期的结果中提到的那样.
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
String dateStr = "35/35/1985";
Date date = sdf.parse(dateStr);
Run Code Online (Sandbox Code Playgroud)
我期待运行时异常,如日期分析异常,但返回日期对象是 Sat Dec 05 00:00:00 IST 1987
通过什么逻辑字符串35/35/1985
解析到目前为止Sat Dec 05 00:00:00 IST 1987
?
更新: -如果我设置setLenient(false)
,它会抛出异常.但是,如果我通过35/35/1985
解析到目前为止的逻辑字符串,它是真的Sat Dec 05 00:00:00 IST 1987
吗?
我在Java中有以下内容,我想只删除html标签而不是新行字符
<p>test1 <b>test2</b> test 3 </p> //line 1
<p>test4 </p> //line 2
Run Code Online (Sandbox Code Playgroud)
如果我在文本丰富的编辑器中打开上面的内容,则第1行和第2行显示在不同的行中(不显示</p>
标记).但是在记事本中,内容与</p>
标记一起显示.删除我使用的所有html标签
Jsoup.parse(aboveContent).text()
Run Code Online (Sandbox Code Playgroud)
它删除所有html字符.但它在记事本中显示了同一行中的所有第1行和第2行.不知何故,Jsoup还删除了换行符.
我尝试了什么: -
我也试过替换</p>
,\r\n
然后删除html标签
Jsoup.parse(contentWith\r\n-Insteadof-</p>Tag ).text()
Run Code Online (Sandbox Code Playgroud)
但仍然Jsoup删除行尾字符(如在调试器中我可以看到line1和line2)在同一行.
我怎么能让Jsoup只剥离html字符而不是新行字符?
我有下面的字符串
String = "Test1 Test2 Test3 Test4 Test5 Test6 15min"
Run Code Online (Sandbox Code Playgroud)
我想在字符串"min"之前得到字符空间的索引
有一种方法, String.lastIndexOf(" ")
但找不到任何相关的东西?
编辑:-
基本上想在第一分钟之前找到最后一个空格
我有 ubuntu 服务器,有 8 GB RAM。当我尝试将堆大小设置为 8GB 时,我的 Web 服务器(weblogic)无法启动。但如果我将交换大小增加到 11 GB,网络服务器就会启动。
所以我的问题是,在增加交换大小后,如何为我的 Web 服务器分配 8GB 堆大小(当我有 8 GB RAM,操作系统需要其中 1 到 2 GB 时)?
我了解许多设计原则在某些情况下会相互冲突。因此,我们必须权衡它们,看看哪个更有利。直到现在,我才意识到SRP原理,并仅以此为基础进行了很多设计,但在内部,遵循该原理有时会感到不对。现在我开始了解TDA,对此我的感觉得到了更多支持:)
SRP:-对象应该担心自己的关注而不是其他人
TDA:-行为(仅取决于其对象状态)应保留在对象本身内部
示例:- 我有不同的形状,如矩形,正方形,圆形等。现在我必须计算面积。
到目前为止,我的设计是:-我遵循SRP,这里有AreaCalculatorService类,该类将询问形状状态并计算面积。该设计背后的理由是形状不应该担心面积计算,因为它不是形状责任。但是理想情况下,我曾经以为区域计算代码应该驻留在每个形状下,如果出现新形状,就好像在线下一样,我必须修改AreaCalculatorService类(这违反了Open的扩展名和闭合的修改原则(OECM))。但始终优先考虑SRP。好像错了
神话被打破了(至少是我的):-使用TDA,我的感觉是正确的,在这里我不应该询问物体的状态,而要告诉形状以计算其面积。尽管它将违反SRP原则,但将支持OECM原则。正如我所说的那样,设计原则有时会相互冲突,但是我相信行为完全取决于其对象状态,行为和状态应该在一起。
另一个示例:-说我必须计算组织中所有雇员的所有部门的薪水,那么我们应该遵循SRP,SalaryCalculatorService将取决于部门和雇员。
它将询问每个员工的薪水,然后对所有薪水进行汇总。因此,我在这里要求员工的状态,但仍不违反TDA calcSalary不仅取决于每个员工的薪水。
让我知道我对这两个原则的解释是否正确,在第一种情况下应遵循TDA,在第二种情况下应遵循SRP?
oop single-responsibility-principle tell-dont-ask design-principles
UTF-8是将Unicode字符串编码为字节序列的方法.Base64是一种将字节序列编码为字符串的方法
下面是我们首先将字符串转换为字节然后再转换为base64字符串的示例
String base64encodedString = Base64.getEncoder().encodeToString("TestString".getBytes("utf-8"));
Run Code Online (Sandbox Code Playgroud)
现在我通过网络发送基础64数据.我的问题是,数据总是以字节序列的形式传输,那么将字节序列转换为字符串的优点是什么?我知道我在这里错过了一些观点,但不知道那是什么意思?
java ×6
regex ×2
arrays ×1
base64 ×1
date ×1
encoding ×1
end-of-line ×1
heap-memory ×1
html ×1
javascript ×1
jsoup ×1
oop ×1
regex-group ×1
single-responsibility-principle ×1
sorting ×1
string ×1