class Dad
{
protected static String me = "dad";
public void printMe()
{
System.out.println(me);
}
}
class Son extends Dad
{
protected static String me = "son";
}
public void doIt()
{
new Son().printMe();
}
Run Code Online (Sandbox Code Playgroud)
功能doIt将打印"爸爸".有没有办法让它打印"儿子"?
有人可以向我解释@(函数句柄)运算符的含义以及使用它的原因吗?
我写了一个小的Java应用程序,其输出包括Unicode字符.当我使用Eclipse运行它时 - 我看到所有输出都是预期的.
应该使用该应用程序的人将其作为jar文件运行.我认为他们可以使用标准的cmd窗口,但在这个窗口中,Unicode显示为Gibberish.
有没有办法让"cmd窗口"识别Unicode字符并正确显示它们?或者,是否有任何工具可以轻松运行jar文件并获得正确的输出?
BTW - 将输出重定向到文件可以正常工作,但程序是交互式的,所以这不是一个好的解决方案.
编辑:谢谢大家的建议.似乎cmd字体没有我需要的特定字符,这就是为什么更改代码页并没有解决我的问题.
我找到了一种方法来向控制台添加更多等宽字体,但是在我添加它们之后,我想要对字体做任何改变(甚至选择一种不同大小的原始字体)都会被忽略.
我想我会尝试使用另一种工具,它可以更轻松地支持不同的字体.
我有一个包含用户项目的表.每个用户可以具有多种类型的项目,并且可以使每个项目不止一次.我想看看每个用户拥有的每种类型的项目数量.所以我使用以下查询:
select user_name, count(item_name) as "count_item", item_name
from my_table
group by user_name, item_name
order by user_name, count_item desc;
Run Code Online (Sandbox Code Playgroud)
所以我得到这样的东西:
user_name | count_item | item_name
----------+-------------+-----------
User 1 | 10 | item X
User 1 | 8 | item Y
User 2 | 15 | item A
User 2 | 13 | item B
User 2 | 7 | item C
User 2 | 2 | item X
Run Code Online (Sandbox Code Playgroud)
等等
现在,我想只看到每个用户的前3项.在上面的示例中,对于用户1,我想要查看项目X和Y,对于用户2,我想要查看项目A,B和C.
我怎么能这样呢?
谢谢!
我有一个使用 Eclipse Memory Analyzer 打开的转储。
我想将堆的一些内容导出到一个文件中。
我感兴趣的字段之一是 anArrayList并且我找不到以将数组列表的内容作为输出返回的方式查询转储的方法:
选择 ArrayList 对象本身会返回如下内容:
java.util.ArrayList [id=0xf2765680]
在数组列表 ( select arr.elementData...) 中选择数组会返回类似以下内容:
java.lang.Object[] [id=0xf2765698;length=4]
当 arrayList 不为 null 时选择toString(arr)或toString(arr.elementData)返回空字符串(如果为空则为字符串null)。
真的不可能吗??
在 MySQL Workbench 中,双击表对象会将表名粘贴到当前关注的查询文件中。
可以改变吗?我想在双击时看到表格内容。或者至少,禁用当前行为。那可能吗?如何?
谢谢。
我在Java中使用GSSAPI以使用Kerberos身份验证登录LDAP服务器.我是Kerberos的新手,所以如果这是一个明显的问题我很抱歉,但我在互联网上找不到任何清楚的东西.
我执行以下步骤:
"java.security.auth.login.config"设置为配置文件路径来定义登录配置.LoginContext.login()与配置的名称和一个自定义的回调处理程序Subject.doAs()),并通过使用InitialLDAPContext适当的环境变量创建新连接来连接到LDAP服务器.现在,我的问题是我不明白哪个步骤与哪个kerberos行动相关?说登录后我只有一个TGT是正确的吗?我什么时候可以获得特定于服务的票?
谢谢,迪克拉
我有一个使用一些txt文件的jar文件.为了得到它们它使用Class.getResourceAsStream功能.
Class A
{
public InputStream getInputStream(String path) throws Exception {
try {
return new FileInputStream(path);
} catch (FileNotFoundException ex) {
InputStream inputStream = getClass().getResourceAsStream(path);
if (inputStream == null)
throw new Exception("Failed to get input stream for file " + path);
return inputStream;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码完美无缺.
问题是,如果我将类A定义为extends java.io.File,则我得到的InputStream getResourceAsStream为null.
另外,如果我将A类作为常规类(不是继承),并将B类定义为:
Class B extends java.io.File
{
public InputStream getInputStream(String path) throws Exception
{
return new A().getInputStream(path);
}
}
Run Code Online (Sandbox Code Playgroud)
返回的InputStream仍然为null.
问题是什么?有没有办法从继承的类访问该文件File?
谢谢,
我有以下XML:
<config>
<version general="1.2.3">
<subtype type="a" version="1.2" />
<subtype type="b" version="3.6" />
...
</version>
...
</config>
Run Code Online (Sandbox Code Playgroud)
我在Perl中有一些代码来从数据库中获取配置节点.
在我得到它后,如果我尝试以下方法:
my $elem = $cfg->getElementsByTagName("version");
my $generalVer = $elem ? $elem->get_node(1)->getAttribute("general") : undef;
Run Code Online (Sandbox Code Playgroud)
一切正常,$generalVer包含1.2.3,如预期的那样.
但如果我试试这个:
my $elem = $cfg->getElementsByTagName("version/subtype[@type='a']");
my $aVersion = $elem ? $elem->get_node(1)->getAttribute("version") : undef;
Run Code Online (Sandbox Code Playgroud)
它失败并显示"无效谓词"消息.
有人可以帮助解决这个问题吗?
我正在尝试使用range属性.
为了测试,我使用没有范围的搜索返回3个条目,并且我将范围设置为0-1,这应该仅返回前2个.但是,我得到所有3个结果.
我是这样做的:
String rangeStr = attribute + ";range=0-1";
String returnedAttrs[] = {rangeStr, attribute};
_searchControls.setReturningAttributes(returnedAttrs);
_searchControls.setSearchScope(scope);
NamingEnumeration<SearchResult> answer = _context.search(name, filter, _searchControls);
List<String> result = new LinkedList<String>();
while (answer != null && answer.hasMoreElements())
{
Attribute currentAttr = answer.next().getAttributes().get(attribute);
if (currentAttr == null)
continue;
for (int i=0; i<currentAttr.size(); i++)
{
String val = currentAttr.get(i).toString();
result.add(val);
}
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我使用的页面大小为1000,但如果我理解正确,那么不应该影响远程搜索(假设页面大小大于请求的范围).那是对的吗?