小编Kon*_*kov的帖子

在一段时间内将ArrayList添加到TreeMap

我正在从数据库中的表中检索数据并将整行添加到a TreeMap.

我正在使用以下代码:

ArrayList<String> listaValores = new ArrayList();
TreeMap<Integer, ArrayList> tmValores = new TreeMap<>();
Run Code Online (Sandbox Code Playgroud)

(......)

    while (rs.next()) 
    {
        listaValores.clear();
        for(int i=2; i<=ncolunas; i++)
        {
            listaValores.add(rs.getString(i));
        }
        tmValores.put(rs.getInt(1), listaValores);   
    }
Run Code Online (Sandbox Code Playgroud)

我的TreeMap键被很好地插入,但是值总是作为SELECT*FROM Table查询的结果重复为最后一行的值.

所以,如果我的表是:

id | name | last name | 
1  | joe  | lewis     | 
2  | mark | spencer   | 
3  | mike | carter    | 
4  | duke | melvin    |
Run Code Online (Sandbox Code Playgroud)

我的TreeMap包含:

1=> duke, melvin  
2=> duke, melvin  
3=> duke, melvin  
4=> duke, …
Run Code Online (Sandbox Code Playgroud)

java arraylist treemap

2
推荐指数
1
解决办法
5668
查看次数

如何将类范围的类型参数限制为原始包装器(数字)和字符串?

如何在泛型类中限制为原始包装类型(Integer,Long等)或String?像这样的东西(伪代码):

public class GroupNotificationService<String OR T extends Number>
Run Code Online (Sandbox Code Playgroud)

那可能吗?谢谢.

java generics

2
推荐指数
1
解决办法
89
查看次数

为什么Math.sqrt()在java中输出错误的值?

long mynum = Long.parseLong("7660142319573120");
long ans = (long)Math.sqrt(mynum) // output = 87522239
long ans_ans = ans * ans;
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我得到ans_ans> mynum,它应该是<= mynum.为何如此行为?我也尝试使用节点js.结果也一样.

java math

2
推荐指数
1
解决办法
1398
查看次数

Java:void方法返回值?

所以,我认为我误解了方法如何返回值.我不明白为什么list [0]在输出中是3,因为那是一个void方法,它不会将任何东西返回给main方法...如果void方法实际上可以返回值,那么为什么num仍然是0 .....不会数也变成3?或者void方法不返回任何值,除了数组?

public static void main (String []args){

    int []list = {1,2,3,4,5};
    int number = 0;

    modify(number, list);

    System.out.println("number is: "+number);

    for (int i = 0; i < list.length; i++)
    {
        System.out.print(list[i]+" ");
    }

    System.out.println();
}
public static void modify (int num, int []list){

    num = 3;
    list[0] = 3;
}
Run Code Online (Sandbox Code Playgroud)

输出:

number is: 0

3 2 3 4 5 
Run Code Online (Sandbox Code Playgroud)

java methods return

1
推荐指数
1
解决办法
9304
查看次数

java包中的错误

@Test

private void AutoItTest() throws IOException {
   java.lang.Runtime().getRuntime().exec("C:\\Selenium\\framework\\AutoITpopupHandler.exe");
}     
Run Code Online (Sandbox Code Playgroud)

java.lang提示错误请提供适当的解决方案.

java selenium-webdriver

1
推荐指数
1
解决办法
46
查看次数

Java中的字符串何时是不同的对象?

我最近在Java中了解到:==比较对象引用,而不是内容,这就是为什么:

String str1 = "hell";
String str2 = "o";
String str3 = str1 + str2;
String str4 = "hello";

str3 == str4; // False
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.但是,当我执行以下操作时:

String str5 = "hello";
str5 == str4; // True
Run Code Online (Sandbox Code Playgroud)

这是否意味着str5和str4引用相同的内存对象?这是如何运作的?

java string memory-management string-comparison

1
推荐指数
1
解决办法
111
查看次数

Java泛型扩展了语法

有人可以解释一下这个类定义语句

public class BinarTree<Type extends Comparable<Type>> {...
Run Code Online (Sandbox Code Playgroud)

我完全理解它的目的,但不是语法.据我说它应该是公正的

public class BinarTree<Type extends Comparable> {...
Run Code Online (Sandbox Code Playgroud)

是什么意思

<Type extends Comparable<Type>> ?
                         ^^^^
Run Code Online (Sandbox Code Playgroud)

java generics

1
推荐指数
1
解决办法
68
查看次数

Java类加载

我有一个属于2个不同包的同一个类.

package x1.y1.Class
packgage x2.y2.Class
Run Code Online (Sandbox Code Playgroud)

是否有可能如果我正在调用x1.y1.Classvia类加载器,x2.y2.Class而是加载?

java classloader

1
推荐指数
1
解决办法
70
查看次数

多个bean指的是同一个类?

在Spring配置文件中,我为同一个类创建了两个bean,即

<bean id="emp1" class="Employee">
    <property name="age" value="10"></property>
</bean>

<bean id="emp2" class="Employee">
    <property name="age" value="15"></property>
</bean>
Run Code Online (Sandbox Code Playgroud)

并且两者的范围默认为'singleton',但是当我打印Employee对象时,它显示两个不同的对象.这怎么可能?我的意思是如果bean范围是单身,那么它是如何创建两个不同的对象?

java spring dependency-injection

1
推荐指数
1
解决办法
3036
查看次数

这个map/string数组中发生了什么?

首先,我的代码工作正常.没有什么需要做的,但是当我从其他地方复制代码的某些部分时,我不完全理解这里发生的事情并希望得到解释来学习一些东西.

我使用play框架并向我的控制器类发送一个带有ID和分数的AJAX POST.我将这些参数放入字符串并将其保存在我的数据库中.

Map<String, String[]> parameters = request().body().asFormUrlEncoded();
        String questionIDInput = parameters.get("questionID")[0];
        String voteScoreInput = parameters.get("score")[0];
Run Code Online (Sandbox Code Playgroud)

我得到的部分是:.get("questionID")[0]; / .get("score")[0];.为什么那里有两个零?地图是某种长字符串,我"questionID / score"用作查找值的键吗?0真的让我感到困惑,请赐教.

java arrays string dictionary

1
推荐指数
1
解决办法
87
查看次数