我试图简单地在ConcurrentHashMap中打印所有键/值对.
我在网上找到了这个代码,我认为会这样做,但它似乎是获取有关桶/哈希码的信息.其实说实话输出很奇怪,可能我的程序不正确,但我首先要确保这部分是我想要使用的.
for (Entry<StringBuilder, Integer> entry : wordCountMap.entrySet()) {
String key = entry.getKey().toString();
Integer value = entry.getValue();
System.out.println("key, " + key + " value " + value);
}
Run Code Online (Sandbox Code Playgroud)
这为大约10个不同的键提供输出,其计数似乎是映射到插入的总插入数的总和.
我想运行一个INSERT INTO table SELECT... FROM...
问题是我插入的表有5列,而我选择的表只有4.第5列需要设置我做的默认值.我怎么能做到这一点?查询将是这样的(注意:这是Oracle):
INSERT INTO five_column_table
SELECT * FROM four_column_table
--and a 5th column with a default value--;
Run Code Online (Sandbox Code Playgroud) 我在尝试运行所有测试时遇到了很多挫折sbt- 同时排除了特定的标签.这是我想要运行的:
testOnly * -- -l "com.my.project.path.tags.ValidationTest"
Run Code Online (Sandbox Code Playgroud)
我已经尝试了这个命令的许多变体,包括用*类的路径替换,或者像这样替换包的路径:
testOnly "com.my.project.path.somePackage" -- -l "com.my.project.path.tags.ValidationTest"
Run Code Online (Sandbox Code Playgroud)
而且我已尝试在包装周围使用和不使用引号.
我只是读到testOnly了新版本中使用的sbt而不是test-only.我尝试过这种语法(以及许多变体),似乎没有任何效果.我的测试设置如下:
"some method" should "fail when doing something" taggedAs ValidationTest in { ... }
Run Code Online (Sandbox Code Playgroud)
我已经object ValidationTest extends Tag("com.my.project.path.tags.ValidationTest")定义了TestTag.scala.
当使用it关键字而不是使用关键字定义方法时,我也尝试了这一点"some method" should "fail..."
使用ScalaTest的Sbt在" 包含和排除带有标记的测试 " 下显示以下内容
> test-only org.acme.* -- -n CheckinTests
> test-only org.acme.* -- -n FunctionalTests -l org.scalatest.tags.Slow
> test-only org.acme.* -- -n "CheckinTests FunctionalTests" -l …Run Code Online (Sandbox Code Playgroud) 我Unfinished Stubbing detected here在运行以下代码时收到错误消息:
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.*;
import org.mockito.Mock;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.reflect.Whitebox;
@RunWith(PowerMockRunner.class)
public class PatchWriterTaskTest {
@Before
public void before() throws Exception {
filePath = getFilePath();
task = PowerMockito.spy(new PatchWriterTask());
patchFilesName = new HashMap<Integer, String>();
patchFilesName.put(1, "TCE_RDF_COVERED_DATA_REGION.sql");
scriptPath = new File(filePath + "do_patch_rdf.sql");
PowerMockito.when(task, "getLogger").thenReturn(logger);
PowerMockito.when(task, "getPatchFilesName").thenReturn(patchFilesName);
PowerMockito.when(task, "getDirectoryPath").thenReturn(filePath);
PowerMockito.when(task, "saveDoPatchFile");
}
@Test
public void testUpdateIssuesTable() throws Exception {
PatchWriterTask task = new PatchWriterTask();
Connection conn = mock(Connection.class);
PreparedStatement …Run Code Online (Sandbox Code Playgroud) 这是一个类似的问题[ FindBugs警告:使用keySet迭代器而不是entrySet迭代器的效率低下
但是,我想尝试做一些不同的事情.我目前的代码在这里:
for (Double key2 : sortedPolygons.keySet()) {
if (sortedPolygons.get(key2).getExteriorRing().equals(hole)) {
sortedPolygons.remove(key2);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
在链接中执行类似解决方案的操作不起作用.以下是所述解决方案的实现:
for(Map.Entry<Double, Polygon> entry : sortedPolygons.entrySet()) {
if (entry.getValue().getExteriorRing().equals(hole)) {
.....
Run Code Online (Sandbox Code Playgroud)
这里的问题是我试图删除该条目.没有entry.remove().如何在没有FindBugs错误的情况下替换我的第一个代码块:
低效使用keySet迭代器而不是entrySet迭代器 - >
此方法使用从keySet迭代器检索的键访问Map条目的值.在map的entrySet上使用迭代器更有效,以避免Map.get(键)查找.
需要注意的是TreeMap,底层结构是,并且无法更改.