在Java中,为什么最佳做法是声明记录器static final?
private static final Logger S_LOGGER
Run Code Online (Sandbox Code Playgroud) 我有一个Class对象.我想确定Class对象表示的类型是否实现了特定的接口.我想知道如何实现这一目标?
我有以下代码.基本上它的作用是获取指定包中所有类的数组.然后我想通过数组并将实现接口的Class对象添加到我的地图中.问题是isInstance()将对象作为参数.我无法实例化一个接口.所以我对此感到很茫然.有任何想法吗?
Class[] classes = ClassUtils.getClasses(handlersPackage);
for(Class clazz : classes)
{
if(clazz.isInstance(/*Some object*/)) //Need something in this if statement
{
retVal.put(clazz.getSimpleName(), clazz);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个包含许多子目录的目录.在每个文件夹中都有一个subversion文件夹(.svn).
Windows中是否有命令将通过每个文件夹和子目录并删除.svn文件夹?
或者我必须手动创建脚本吗?
为什么InputStream#read()返回int而不是byte?
我试图在unix时间内获得GMT.我使用以下代码:
public static long GetGMTInMS()
{
var unixTime = DateTime.Now.ToUniversalTime() -
new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return (long)unixTime.TotalMilliseconds;
}
然后将unix时间转换回DatTime对象,我使用:
public static DateTime UnixTimeStampToDateTime(double unixTimeStamp)
{
System.DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
dtDateTime = dtDateTime.AddMilliseconds(unixTimeStamp).ToLocalTime();
return dtDateTime;
}
当我运行它时,GetGMTInMS() 1320249196267.当我把它传给UnixTimeStampToDateTime()我时{11/2/2011 11:53:16 AM}
哪个好.这是我运行代码时的正确时间.我的问题是,当我试图把1320249196267为UNIX时间转换器,比如这个,它返回完全错误的时间.
另一个问题是我在东部时区.这返回了我所在时区的时间.这是DateTime对象处理的东西还是我没有获得GMT.
HI,
从JComboBox获取值作为String的正确方法是什么,为什么它是正确的方法.谢谢.
String x = JComboBox.getSelectedItem().toString();
Run Code Online (Sandbox Code Playgroud)
要么
String x = (String)JComboBox.getSelectedItem();
Run Code Online (Sandbox Code Playgroud) 我需要删除JTable中的所有行.
我尝试了以下两种方法:
/**
* Removes all the rows in the table
*/
public void clearTable()
{
DefaultTableModel dm = (DefaultTableModel) getModel();
dm.getDataVector().removeAllElements();
revalidate();
}
Run Code Online (Sandbox Code Playgroud)
和
((DefaultTableModel)table.getModel()).setNumRows(0);
Run Code Online (Sandbox Code Playgroud)
两者都不会删除所有行.有任何想法吗?
我知道我的C#类中的属性名称.是否可以使用反射来设置此属性的值?
例如,假设我知道属性的名称string propertyName = "first_name";.并且存在一个名为的财产first_name.我可以用这个字符串设置它吗?
我有一个枚举,让我们称之为A:
public enum A
{
A,
B
}
Run Code Online (Sandbox Code Playgroud)
我有一个枚举A的函数:
public void functionA(A enumA)
{
//do something
}
Run Code Online (Sandbox Code Playgroud)
如何创建另一个枚举,可能调用B我可以传递给functionA?像这样的东西?
public enum B
{
C
}
functionA(B.C);
Run Code Online (Sandbox Code Playgroud)
我知道你不能扩展枚举,但我还有其他选择吗?实现这一目标的最佳方法是什么?
java ×6
c# ×3
.net ×2
reflection ×2
swing ×2
command-line ×1
datetime ×1
enums ×1
inputstream ×1
jtable ×1
logging ×1
oop ×1
svn ×1
windows ×1