小编ric*_*mes的帖子

字符串作为hashmap中的键

我在过去一小时内阅读了很多帖子,但是我仍然不太清楚使用不可变对象作为Hashmap中的键的概念.我有一个哈希映射,其键作为字符串.hashmap中的值是MyStore,其中MyStore表示有关我拥有的商店的信息.String表示地址.在我的代码中,我的逻辑是,我首先在地图中查找该键,如果存在 - >获取其值,如果它不存在则将其放入hashmap中.我的经理告诉我,密钥将来会改变,那就是我的商店的地址将来会改变.他说在这种情况下,我首先检查密钥是否存在的逻辑不起作用.我不明白他的意思.我想非常清楚地理解以下几点 -

  1. hashmap的可变键和不可变键之间的区别.
  2. 如果使用可更改的不可变密钥会发生什么? - 我知道这没有意义,但我想清楚地了解我的经理在这里谈论的内容.
  3. 有些帖子谈论字符串,如果在哈希码中使用哈希码作为键,那么这意味着什么?
  4. 如果让我说我在我的hashmap中使用可变对象作为实现hashcode和equals的键,那么它会起作用吗?我假设它会,因为如果密钥更改,contains方法将查看密钥是否存在.如果它不存在,它将入门这样你就可以得到在未来它.

如果之前已经讨论过,我并不是要创建一个重复的帖子.如果我错过阅读有关我所有问题答案的帖子,请指出.如果没有,请以外行的方式解释我的上述问题,以便将来对其他读者有用:).随意编辑我的帖子的主题,以便将来如果有人有类似的问题,他们会直接降落在这里:)

java

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

使用Apache POI使整行变粗

我正在使用Apache POI的HSSFWorkbook将数据写入Excel电子表格.

我想整整一行加粗.有人可以建议怎么做吗?

java apache-poi

9
推荐指数
1
解决办法
3万
查看次数

创建一个返回JSON响应的简单页面

在我的项目中在客户端工作的团队要求我编写一个示例测试页面,并为他们提供一个可以点击并返回200的工作URL.他们要求我也提供样本请求正文.这是我要给他们的请求主体.

{
"MyApp": {
    "mAppHeader": {
        "appId": "",
        "personId": "",
        "serviceName": "",
        "clientIP": "",
        "requestTimeStamp": "",     
        "encoding": "",
        "inputDataFormat": "",
        "outputDataFormat": "",
        "environment": ""
    },
   "requestPayload": {
        "header": {
            "element": ""
        },
        "body": {
            "request": {
                "MyTestApp": {
                    "data": {
                        "AuthenticationRequestData": {
                            "appId": "",
                            "appPwd": ""
                        }
                    }
                }
            }
        }
    }
    }
}
Run Code Online (Sandbox Code Playgroud)

要开发示例页面,我不知道从哪里开始.请放弃你的downvotes(如果问题似乎无关紧要),因为我没有使用JSP Servlets的经验.

这就是我现在所拥有的.它是一个简单的登录页面 -

    <%@ page language="java" 
    contentType="text/html; charset=windows-1256"
    pageEncoding="windows-1256"
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
        <title>Login …
Run Code Online (Sandbox Code Playgroud)

java jsp

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

声纳严重违规 - 以前取消引用的Nullcheck值

对于我在我的一个测试类中的下面一段代码,Sonar抛出了一个严重的违规行为 - 正确性 - 以前取消引用的Nullcheck值

 if (testLst != null && !testLst.isEmpty()) {
        for (Test test : testLst) {
            if (test.getName().equalsIgnoreCase("TEST")) {
            // do blah
            }
Run Code Online (Sandbox Code Playgroud)

有人可以对此我做错了吗?

编辑:这里的答案之一建议这是因为我之前可以访问变量,因此空检查是多余的.但事实并非如此.这是我的null检查之前的代码行.

 testLst = myTest.getValues(); //I am basically populating the array by doing a get, but I am not accessing the list itself by doing a get on it directly - like testLst.get()
 if (testLst != null && !testLst.isEmpty()) {
            for (Test test : testLst) {
                if (test.getName().equalsIgnoreCase("TEST")) {
                // do blah
                }
Run Code Online (Sandbox Code Playgroud)

java

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

Modify package names for java classes generated from wsdl

如何修改从多个wsdls生成的java类的包名称.我有两个wsdls,它们都生成类ObjectFactory,package-info等类,具有完全相同的包名.因此,我无法在我的代码中组织导入.对于wsdls,我的包看起来像这样 -

WSDL A
    com.test.customerinfo.dto
    com.test.customerinfo.exceptions
    com.test.customerinfo.service

WSDL B    
    com.test.customerinfo.dto
    com.test.customerinfo.exceptions
    com.test.customerinfo.service
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样 -

WSDL A
    com.test.customerinfo.dto
    com.test.customerinfo.exceptions
    com.test.customerinfo.service

WSDL B    
    com.testOne.customerinfo.dto
    com.testOne.customerinfo.exceptions
    com.testOne.customerinfo.service
Run Code Online (Sandbox Code Playgroud)

我试过这个,但它没有用 -

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-codegen-plugin</artifactId>
    <version>2.7.7</version>
    <executions>
       <execution>
          <id>generate-sources</id>
          <phase>generate-sources</phase>
          <configuration>
             <sourceRoot>target/generated-sources/test/java</sourceRoot>
             <wsdlOptions>
                <wsdlOption>
                   <wsdl>src/main/resources/wsdl/test/GetInfo.wsdl</wsdl>
                   <extraargs>
                      <extraarg>-server</extraarg>
                      <extraarg>-client</extraarg>
                      <extraarg>-impl</extraarg>
                      <extraarg>-verbose</extraarg>
                      <extraarg>-p</extraarg>
                      <extraarg>http://dto.customerinfo.test.com/=com.test.customerinfo.dto</extraarg>
                      <extraarg>-p</extraarg>
                      <extraarg>http://services.customerinfo.test.com/=com.test.customerinfo.services</extraarg>
                      <extraarg>-p</extraarg>
                      <extraarg>http://exceptions.customerinfo.test.com/=com.test.customerinfo.exceptions</extraarg>
                   </extraargs>
                   <frontEnd>jaxws21</frontEnd>
                   <faultSerialVersionUID>1</faultSerialVersionUID>
                </wsdlOption>
             </wsdlOptions>
          </configuration>
          <goals>
             <goal>wsdl2java</goal>
          </goals>
       </execution>
    </executions>
 </plugin>
Run Code Online (Sandbox Code Playgroud)

请指教.

java wsdl

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

Java中int数组的列表

如何打印其中包含原始类型 int 对象的 List 的内容?最好将答案打印在一行中。这是我的代码。

public static void main(String[] args) {
    List<int[]> outputList = new ArrayList<>();
    int[] result = new int[] { 0, 1 };
    int[] result2 = new int[] { 2, 3 };
    outputList.add(result);
    outputList.add(result2);

    System.out.println(Arrays.toString(outputList.get(0)));
}
Run Code Online (Sandbox Code Playgroud)

这会给我 [0,1] 但我正在寻找 {[0,1],[2,3]}

java arrays string list

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

列表包含另一个列表

我的应用程序Customer中有一个对象,其中包含一个客户列表.

public class CustomerList
{
private List<Customer>
}
Run Code Online (Sandbox Code Playgroud)

客户类依次列出他们在一周中的某一天在商店购物的所有商品.

 public class Customer
{
private List<String> itemsOnMonday;
private List<String> itemsOnTuesday;
private List<String> itemsOnWednesday;
private List<String> itemsOnThursday;
private List<String> itemsOnFriday;
}
Run Code Online (Sandbox Code Playgroud)

现在,我想获得客户在一周内购买的所有商品的清单.做这个的最好方式是什么?我的同事建议我创建另一个列表,并将项目添加到此列表中.我不相信这是一个好方法.我有超过1000个客户,每个客户每周购物超过500件.他建议这样的事情 -

for(Customer customer:customerList)
{
List<String> items = new ArrayList<String>();
items.addAll(itemsOnMonday);
//So on until Friday.
}
Run Code Online (Sandbox Code Playgroud)

这很疯狂,因为我最终会在for循环中创建超过1000个对象.有没有想过更好的方法呢?我们现在已经在脑力激荡了一段时间,并且无法想出实现这一目标的有效实施方案.任何帮助都感激不尽.

java

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

Eclipse中的JUnit面板

我想在日食中删除下面的JUnit面板。看到它我很生气。知道如何删除它吗?它在我的工作空间中。尽管我将其一直推到了最前沿,以便可以更好地看到我的代码,但这仍然很烦人。请提出建议。

在此处输入图片说明

java junit

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

ESAPI 中的编码器和规范化

我了解 ESAPI 的用途,但我看到这两行在很多 ESAPI 示例中重复出现。有人可以解释一下这到底是做什么的吗?

ESAPI.encoder().canonicalize(inputUrl,false,false);
Run Code Online (Sandbox Code Playgroud)

java esapi

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

Java设置值if if else在一行中循环

如果在一行中,如何设置内部值?

String amount = myJSON.optString("cValue")
double cValue = (amount != null && !amount.isEmpty()) ? Double.parseDouble(amount) : 0;
if (cValue > 0) {
    mySavings.setCouponValue(cValue);
} else {
    mySavings.setCouponValue(0.0);
}
Run Code Online (Sandbox Code Playgroud)

java if-statement ternary-operator conditional-operator

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