小编Ste*_*Kuo的帖子

将包含二进制值的String转换为Hex

我试图将包含二进制值(例如000010001010011)的字符串转换为其十六进制值.(453)

我一直在尝试几个选项,但主要是我得到每个角色的转换值.(0 = 30 1 = 31)

我有一个函数可以通过非数学方式将我的输入转换为二进制代码,但是通过一系列"if,else if"语句.(这些值不计算,因为它们不是标准的.)二进制代码包含在变量String"binOutput"中

我目前有这样的事情:

        String bin = Integer.toHexString(Integer.parseInt(binOutput));
Run Code Online (Sandbox Code Playgroud)

但这根本不起作用.

java string binary hex

7
推荐指数
1
解决办法
2万
查看次数

在Java中规范化可能编码的URI字符串

使用Java,我想剥离片段标识符并执行一组不同URI的简单规范化(例如,小写方案,主机).输入和输出URI在一般HTTP意义上应该是等效的.

通常,这应该是直截了当的.但是,对于像http://blah.org/A_%28Secret%29.xml#blah%这样编码的URI ,(Secret)行为java.util.URI会使生活变得困难.

规范化方法应该http://blah.org/A_%28Secret%29.xml从URI 返回,http://blah.org/A_%28Secret%29.xml并且http://blah.org/A_(Secret).xml在解释中不等同[§2.2; RFC3968 ]

所以我们有以下两种规范化方法:

URI u = new URI("http://blah.org/A_%28Secret%29.xml#blah");
System.out.println(u);
        // prints "http://blah.org/A_%28Secret%29.xml#blah"

String path1 = u.getPath();      //gives "A_(Secret).xml"
String path2 = u.getRawPath();   //gives "A_%28Secret%29.xml"


//NORMALISE METHOD 1
URI norm1 = new URI(u.getScheme().toLowerCase(), u.getUserInfo(), 
                      u.getHost().toLowerCase(), u.getPort(), path1, 
                      u.getQuery(), null);
System.out.println(norm1);
// prints "http://blah.org/A_(Secret).xml"

//NORMALISE METHOD 2
URI norm2 = new URI(u.getScheme().toLowerCase(), u.getUserInfo(),
                      u.getHost().toLowerCase(), u.getPort(), path2, 
                      u.getQuery(), null);
System.out.println(norm2);
// prints "http://blah.org/A_%2528Secret%2529.xml"
Run Code Online (Sandbox Code Playgroud)

如我们所见,在没有片段标识符的情况下解析和重建URI.

但是,对于方法1,u.getPath() …

java uri normalization percent-encoding

7
推荐指数
1
解决办法
2944
查看次数

Joda Time LocalDate(Object instant,DateTimeZone zone)构造函数的用途

Joda Time LocalDate将自己描述为:

LocalDate是一个不可变的日期时间类,表示没有时区的日期.

然而,有一个LocalDate(Object instant, DateTimeZone zone)接受时区的构造函数.如果对象是无时区的,那么时区构造函数的目的是什么?

构造函数JavaDocs声明:

从Object构造一个表示日期时间的实例,将时区强制为指定的时间.

我不知道"强制指定时区"是什么意思,因为该对象是无时区的.也许它在内部转换为UTC,然后丢弃时间(保留日期).

java timezone jodatime

7
推荐指数
2
解决办法
6723
查看次数

如何处理来自数据库的巨大结果集

我正在设计一个多层数据库驱动的Web应用程序 - SQL关系数据库,用于中间服务层的Java,用于UI的Web.这种语言并不重要.

中间服务层执行数据库的实际查询.用户界面只是询问某些数据,并没有任何数据库支持的概念.

问题是如何处理大型数据集?用户界面要求提供数据,但结果可能很大,可能太大而无法容纳在内存中.例如,街道标志应用程序可能具有以下服务层:

StreetSign getStreetSign(int identifier)
Collection<StreetSign> getStreetSigns(Street street)
Collection<StreetSign> getStreetSigns(LatLonBox box)
Run Code Online (Sandbox Code Playgroud)

UI层要求使所有街道标志符合某些标准.根据标准,结果集可能很大.UI层可能会将结果划分为单独的页面(对于浏览器)或只是将它们全部呈现(为Goolge Earth提供服务).潜在的巨大结果集可能是性能和资源问题(内存不足).

一种解决方案是不返回完全加载的对象(StreetSign对象).而是返回某种结果集或迭代器,它们懒洋洋地加载每个单独的对象.

另一种解决方案是更改服务API以返回所请求数据的子集:

Collection<StreetSign> getStreetSigns(LatLonBox box, int pageNumber, int resultsPerPage)
Run Code Online (Sandbox Code Playgroud)

当然,UI仍然可以请求一个巨大的结果集:

getStreetSigns(box, 1, 1000000000)
Run Code Online (Sandbox Code Playgroud)

我很好奇这个场景的标准行业设计模式是什么?

java database lazy-loading web-applications resultset

6
推荐指数
2
解决办法
1万
查看次数

可能不存在的属性的JSP bean标记

在JSP中,我可以使用标记$ {object.property}来引用bean的属性.

有没有办法处理可能不存在的属性?我有一个需要处理不同类型的JSP页面.例:

public class Person {
    public String getName()
}
public class Employee extends Person {
    public float getSalary()
}
Run Code Online (Sandbox Code Playgroud)

在JSP中,我想显示一个包含名称和工资列的人员表.如果该人不是雇员,则工资应为空白.行HTML可能如下所示:

<tr>
    <td><c:out value="${person.name}"></td>
    <td><c:out value="${person.salary}"></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果某人不是员工,那么就找不到薪水而且会发生错误.我如何在JSP中解决这个问题?

编辑:是否有JSP标签语言检查实例

java jsp jsp-tags javabeans

6
推荐指数
1
解决办法
7459
查看次数

Subversion获取过去某个时间点的文件快照

有没有办法使用Subversion来获取特定时间点的文件快照?

例如,我想根据存储库如何查看过去的确切时间点来重新创建构建.

svn

6
推荐指数
1
解决办法
3966
查看次数

IntelliJ禁用代码分析(灯泡)

有没有办法在IntelliJ中禁用代码分析(灯泡)?我真的不关心代码改进建议,因为我正在查看一些第三方代码.我已经取消选中了"项目设置" - >"检查"中的所有单个功能.

我正在使用IntelliJ 10.5来编辑ActionScript代码.

actionscript intellij-idea

6
推荐指数
2
解决办法
4815
查看次数

使用split返回的数组的第一个元素总是安全的吗?

我很确定答案是肯定的,但我只是想确认,从来没有非空字符串(无论它包含什么)会返回除了有效的String作为返回的数组的第一个成员之外的任何情况.分裂.

换一种说法.

String foo = ""; // or "something" or "a b c" or any valid string at all

String[] bar = foo.split(",")[0];
Run Code Online (Sandbox Code Playgroud)

我的理解是bar永远不会为null,并且赋值行无法失败.如果在字符串中找不到分隔符,则它只返回foo作为返回数组的第一个元素.

java

6
推荐指数
1
解决办法
652
查看次数

从Java打开一个链接,如何隐藏GET参数

我想从Java打开一个链接我试过这个

public static void main(String[] args) {
       try {
         //Set your page url in this string. For eg, I m using URL for Google Search engine
         String url = "http://myurl.com?id=xx";
         java.awt.Desktop.getDesktop().browse(java.net.URI.create(url));       
       }
       catch (java.io.IOException e) {
           System.out.println(e.getMessage());
       }
   }
Run Code Online (Sandbox Code Playgroud)

它工作正常,但问题是查询字符串在该URL中.我不想将它作为查询字符串传递,因为它是一个密钥.它应该作为隐藏传递给网页请求.我怎样才能做到这一点?

java web

6
推荐指数
1
解决办法
1989
查看次数

"无法重现" - Java确定性多线程可能吗?

这是否可以以确定的方式运行多线程Java应用程序?我的意思是在我的应用程序的两个不同运行中始终使用相同的线程切换.

原因是在每次运行中以完全相同的条件运行模拟.

类似的情况是当使用随机数生成器获得总是相同的"随机"序列时,给出一些任意种子.

java multithreading deterministic

6
推荐指数
1
解决办法
235
查看次数