小编Sub*_*der的帖子

使用AM/PM以12小时格式显示当前时间

目前时间显示为13:35 PM 但是我希望以AM/PM显示为12小时格式,即下午1:35而不是下午13:35

目前的代码如下

private static final int FOR_HOURS = 3600000;
private static final int FOR_MIN = 60000;
public String getTime(final Model model) {
    SimpleDateFormat formatDate = new SimpleDateFormat("HH:mm a");
    formatDate.setTimeZone(userContext.getUser().getTimeZone());
    model.addAttribute("userCurrentTime", formatDate.format(new Date()));
    final String offsetHours = String.format("%+03d:%02d", userContext.getUser().getTimeZone().getRawOffset()
    / FOR_HOURS, Math.abs(userContext.getUser().getTimeZone().getRawOffset() % FOR_HOURS / FOR_MIN));
    model.addAttribute("offsetHours",
                offsetHours + " " + userContext.getUser().getTimeZone().getDisplayName(Locale.ROOT));
    return "systemclock";
}
Run Code Online (Sandbox Code Playgroud)

java date-format

171
推荐指数
10
解决办法
36万
查看次数

十进制后只显示两位数

如何得到小数点后只有两位数的双精度值.

例如

如果

i=348842.
double i2=i/60000;
tv.setText(String.valueOf(i2));
Run Code Online (Sandbox Code Playgroud)

这段代码生成5.81403333.

但我只想要5.81.

那我该怎么办?

java android number-formatting

84
推荐指数
6
解决办法
31万
查看次数

将ArrayList的subList转换为ArrayList

我使用ArrayList并尝试将其一部分复制到另一个ArrayList,因此我使用:

sibling.keys = (ArrayList<Integer>) keys.subList(mid, this.num);
Run Code Online (Sandbox Code Playgroud)

其中"sibling.keys"是新的ArrayList,"keys或this.keys"是旧的ArrayList.我使用了铸造,因为eclipse告诉我这样做但是它抛出了ClassCastException:

java.util.ArrayList $ SubList无法强制转换为java.util.ArrayList

有什么建议?

java arraylist sublist

35
推荐指数
1
解决办法
3万
查看次数

如何列出当前目录中的文件?

我希望能够列出当前目录中的文件.我做了一些应该工作但不会返回所有文件名的东西.

File dir = new File(".");
File[] filesList = dir.listFiles();
for (File file : filesList) {
    if (file.isFile()) {
        System.out.println(file.getName());
    }
}
Run Code Online (Sandbox Code Playgroud)

它返回.classpath,但我很确定我在这个文件夹中有其他java文件.也许当前文件夹的点符号不正确?

java directory file

32
推荐指数
2
解决办法
11万
查看次数

获得Java签约的最快方式?

我想将float值的符号作为int-1或1 的值.

避免条件总是降低计算成本的好主意.例如,我能想到的一种方法是使用快速bit-shift获取标志:

float a = ...;
int sign = a >> 31; //0 for pos, 1 for neg
sign = ~sign; //1 for pos, 0 for neg
sign = sign << 1; //2 for pos, 0 for neg
sign -= 1; //-1 for pos, 1 for neg -- perfect.
Run Code Online (Sandbox Code Playgroud)

或者更简洁:

int sign = (~(a >> 31) << 1) - 1;
Run Code Online (Sandbox Code Playgroud)
  1. 这看起来像是一个好方法吗?
  2. 鉴于字节顺序问题(MSB持有标志),这是否适用于所有平台?

java optimization logic bit-manipulation

29
推荐指数
3
解决办法
4万
查看次数

在JVM正常退出后,Files.createTempDirectory是否删除目录?

Files.createTempDirectoryJVM正常退出后是否删除目录?或者我是否需要手动递归删除临时目录内容?

java

28
推荐指数
3
解决办法
3万
查看次数

使用java读取utf-8编码的文本文件

我在使用utf-8编码读取文本文件时遇到问题我正在使用带有netbeans 7.2.1平​​台的java

我已经配置了java项目来处理UTF-8 javaproject ==>右键单击==> properties ==> source ==> UTF-8

但仍然得到未知的字符输出:

代码:

File fileDirs = new File("C:\\file.txt");

BufferedReader in = new BufferedReader(
new InputStreamReader(new FileInputStream(fileDirs), "UTF-8"));

String str;

while ((str = in.readLine()) != null) {
    System.out.println(str);
}
Run Code Online (Sandbox Code Playgroud)

还有其他想法吗?

谢谢

java file-io encoding netbeans

26
推荐指数
3
解决办法
12万
查看次数

为什么instanceof不能使用Generic?

可能重复:
Java:Instanceof和Generics

我正在尝试编写一个将通用List转换为特定类型List的函数.找到下面的代码

public <T>List<T> castCollection(List srcList, Class<T> clas){
    List<T> list =new ArrayList<T>();
    for (Object obj : srcList) {
       if(obj instanceof T){
            ...
       }
    }
    return list;
}
Run Code Online (Sandbox Code Playgroud)

obj instanceof T显示编译错误 -

无法对类型参数T执行instanceof检查.请改为使用其擦除对象>,因为将在运行时擦除其他泛型类型信息.

任何澄清或获得预期结果的方法?

提前致谢.:)

java generics instanceof typeerror

20
推荐指数
2
解决办法
4万
查看次数

Java封闭介绍

任何人都可以描述这种代码来理解Java封闭.

public static <T> void sort(List<T> l, final {T, T=>Number} block) {

    Collections.sort(l, new Comparator<T>() {
        public int compare(T arg0, T arg1) {
            return block.invoke(arg0, arg1);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java java-8

19
推荐指数
1
解决办法
1199
查看次数

打印字符串实例的地址

package com.testProject;
public class JavaSample {

    public static void main(String[] args) {

        String myString1 = new String("Sample1");
        System.out.println(myString1);
        String myString2 = new String("Sample2");
        System.out.println(myString2);
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码片段中如何打印我创建的"Sample1"和"Sample2"这些字符串的地址,我需要打印String对象myString1和myString2的内存位置

java string

19
推荐指数
4
解决办法
4万
查看次数