例如,当第二个Object添加到TreeSet时,下面的代码抛出ClassCastException.无法编写TreeSet,因此type参数只能是Comparable类型?即 TreeSet不会编译,因为Object不是Comparable.通过这种方式,仿制药实际上可以完成它们的工作 - 类型安全.
import java.util.TreeSet;
public class TreeSetTest {
public static void main(String [] args) {
TreeSet<Object> t = new TreeSet<Object>();
t.add(new Object());
t.add(new Object());
}
}
Run Code Online (Sandbox Code Playgroud) 我希望有一对TextFields取决于一个值.并且应根据空白空间调整"y"值.
当值为"0"I 时,我想隐藏TextField.
即我想在下面的jrxml代码中隐藏staticText和textFieldif参数red是否相等"0"并将蓝色值向上移动:
<staticText>
<reportElement x="100" y="30" width="100" height="30"/>
<text><![CDATA[Red items:]]></text>
</staticText>
<textField>
<reportElement x="200" y="30" width="40" height="30"/>
<textFieldExpression>
<![CDATA[$P{red}]]>
</textFieldExpression>
</textField>
<staticText>
<reportElement x="100" y="60" width="100" height="30"/>
<text><![CDATA[Blue items:]]></text>
</staticText>
<textField>
<reportElement x="200" y="60" width="40" height="30"/>
<textFieldExpression>
<![CDATA[$P{blue}]]>
</textFieldExpression>
</textField>
Run Code Online (Sandbox Code Playgroud)
输出示例:
//if blue = 3 and red = 2 if blue = 3 and red = 0 if blue = 0 and red = 2
Red items: 2 …Run Code Online (Sandbox Code Playgroud) 我知道setSelection(),setSelectionFromTop()和setSelectionAfterHeaderView(),但他们都不似乎做我想做的.
给定列表中的项目,我想滚动以便它在视图中.如果项目在列表的可见窗口上方,我想滚动直到该项目是列表中的第一个可见项目; 如果项目在可见窗口下方,我希望它向上滚动,直到它是列表中的最后一个可见项目.如果该项目已经可见,我不希望发生任何滚动.
我该怎么做?
你实际上可以跳过这第一部分,因为它会让人感到困惑,但我会把它放在这里,因为我想知道是否有其他人有同感.我是CS本科生,已经使用Java 3年了,我仍然觉得很难理解如何将Main功能包含在我的设计中.将它自己放在一个类中是错误的,但将它插入另一个类文件也感觉不对.我认为后者是这样的,因为它不适合同类的其他人使它不相干.例如,我不能只在我的DocumentReader对象上粘贴一个main函数.它与对象无关.另一方面,我不能只创建一个只有一个main函数的Main类,因为在面向对象的编程中,你' 应该从物体角度思考,有效地创造一个微型世界.对于那个围绕单个物体的微型世界来说,它只是存在而只是存在.它不是故事中的叙述者和角色,因为它同时没有任何作用.我更喜欢C的主要功能,它与所有东西分开.它使故事的叙述与彼此相互作用的人物分开.
我想知道专业人员如何将main方法与其余代码混合使用.如何使其与其他设计相适应.而且,它们通常是长还是短?
我创建了一个扩展Thread的类,通过LocationManager在非ui线程中检索用户位置.我将它作为一个线程实现,因为它必须在请求时启动并在有限的时间内完成它的工作.顺便说一句,我必须在线程中添加一个Looper对象,以便能够为LocationManager(onLocationChanged)创建处理程序.
这是代码:
public class UserLocationThread extends Thread implements LocationListener {
//...
public void run() {
try {
Looper.prepare();
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
Looper.loop();
Looper.myLooper().quit();
} catch (Exception e) {
//...
}
}
@Override
public void onLocationChanged(Location location) {
locationManager.removeUpdates(this);
//...
handler.sendMessage(msg); //this is the handler for communication with father thread
}
//...}
Run Code Online (Sandbox Code Playgroud)
我希望线程启动,接收用户位置数据(在这种情况下只是一次),通过消息将数据发送到主线程给处理程序,然后死掉.问题是,在我的情况下,一旦run方法结束,线程就不会再死了(应该没问题,因为否则onLocationChanged将不会收到新的位置).
但是通过这种方式,假设线程的停止和挂起方法已被弃用,那么至少在这种情况下,使用looper die创建一个线程会是一个好方法吗?
提前致谢 ;)
通常,在对现有项目进行一些工作时,我会选择代码库中已经建立的任何样式.但我们的团队必须维护多个中小型项目,这些项目在编码风格上略有不同.如果我们能够清理这些差异,那将更有效,更少混乱.
所以我正在寻找一种允许我重构现有风格的工具.标准代码格式化工具已经提供了许多功能,例如更改缩进样式.我缺少的是一个允许我去除字段和参数名称前缀的工具.在某些项目中,所有成员都以"m"为前缀,所有参数都以"p"为前缀,静态成员以"s"为前缀.
该工具应该能够处理如下情况:
void setValue(String pValue) {
mValue = pValue;
}
Run Code Online (Sandbox Code Playgroud)
哪个应该成为:
void setValue(String value) {
this.value = value;
}
Run Code Online (Sandbox Code Playgroud)
该工具应在以下情况下生成警告:
void setValue(String pValue) {
int value = 42
}
Run Code Online (Sandbox Code Playgroud)
我知道每个主要IDE都提供重构:重命名功能.我正在寻找的是一个处理整个代码库的工具,而不需要单独遍历每个参数/字段.
编辑
很多答案提到了重新格式化源代码或根据一组样式规则检查代码库的工具.我知道这些工具存在.我特别想要的是一个高级工具,它允许我删除范围特定的变量名称前缀.
当我有一个Android按钮并将其设置为禁用时,该按钮似乎是"透明的".
我有一个按钮,具有自定义背景,用于按下和聚焦状态.我想从代码中禁用它.当我尝试button.setEnabled(false);我禁用按钮但它保持相同的自定义背景.知道如何禁用我的自定义按钮并将背景更改为透明吗?
在重构应用程序时,使用ReSharper在Visual Studio 2010中移动/重命名源文件是一个巨大的帮助.Perforce源代码控制集成无法处理这些类型的更改,而不将其视为不相关的"从此处删除""添加到此处",这会打破历史链.我的问题是:
谢谢!
version-control resharper refactoring perforce visual-studio
我有两个不同的Android设备插入同一台机器.我想做的是针对每个设备并分别对其执行测试.
不幸的是,似乎每次都需要拔掉其中一个设备来运行测试,因为如果我不这样做,我会收到以下错误:
error: more than one device and emulator
Run Code Online (Sandbox Code Playgroud)
有没有人知道这个问题的解决办法,以便我可以简单地插入两个设备并运行我的测试?
android ×4
java ×4
refactoring ×2
button ×1
coding-style ×1
conditional ×1
device ×1
generics ×1
handler ×1
icomparable ×1
listview ×1
looper ×1
mysql ×1
oop ×1
perforce ×1
resharper ×1
scroll ×1
sql ×1
testing ×1
transparent ×1
treeset ×1