目前时间显示为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) 如何得到小数点后只有两位数的双精度值.
例如
如果
i=348842.
double i2=i/60000;
tv.setText(String.valueOf(i2));
Run Code Online (Sandbox Code Playgroud)
这段代码生成5.81403333.
但我只想要5.81.
那我该怎么办?
我使用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
有什么建议?
我希望能够列出当前目录中的文件.我做了一些应该工作但不会返回所有文件名的东西.
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文件.也许当前文件夹的点符号不正确?
我想将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)
Files.createTempDirectoryJVM正常退出后是否删除目录?或者我是否需要手动递归删除临时目录内容?
我在使用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: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封闭.
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) 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的内存位置