小编Dev*_*dra的帖子

为什么更改finally块中的返回变量不会更改返回值?

我有一个简单的Java类,如下所示:

public class Test {

    private String s;

    public String foo() {
        try {
            s = "dev";
            return s;
        } 
        finally {
            s = "override variable s";
            System.out.println("Entry in finally Block");  
        }
    }

    public static void main(String[] xyz) {
        Test obj = new Test();
        System.out.println(obj.foo());
    }
}
Run Code Online (Sandbox Code Playgroud)

这段代码的输出是这样的:

Entry in finally Block
dev  
Run Code Online (Sandbox Code Playgroud)

为什么s不在finally块中覆盖,而是控制打印输出?

java try-finally

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

使用ajax AutoCompleteExtender验证

我有一个TextBoxAutoCompleteExtender当人开始在输入TextBox与城市名称列表中出现.这工作正常,但现在我想验证,如果他们只需键入textbox并没有选择一个从它验证城市是不存在的名单在数据库中.我想验证它使用Ajax和没有PostBack在最终提交之前form.

asp.net ajax sql-server-2008

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

在flex中实现撤消重做

如何在flex 4中实现撤消重做操作以维护历史记录?我正在使用flex UIComponent和DisplayObjects来创建和编辑图表,但在flex中,无法直接处理用户操作历史记录.有任何想法实现这一目标吗?

apache-flex actionscript-3 flex4.5 flex4.6

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

java中的电话号码验证

我想以这种方式验证电话号码: -

该字段应允许用户输入字符并应自动更正.因此,"+ 1-908-528-5656"的条目不会为用户创建错误,它只会更改为"19085285656".

我也希望编号在9到11之间.

我也试过下面的代码,但没有得出最终的解决方案:

 final String PHONE_REGEX = "^\\+([0-9\\-]?){9,11}[0-9]$";
 final Pattern pattern = Pattern.compile(PHONE_REGEX);
 String phone = "+1-908-528-5656";      
 phone=phone.replaceAll("[\\-\\+]", "");
 System.out.println(phone);
 final Matcher matcher = pattern.matcher(phone);
 System.out.println(matcher.matches()); 
Run Code Online (Sandbox Code Playgroud)

java regex validation

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

如何为抽象类编写lambda表达式

我有抽象类,有两个方法如下:

public abstract class SessionExecutionBody {
   public Object execute() {
     executeWithoutResult();
     return null;
   }

   public void executeWithoutResult() {}
} 
Run Code Online (Sandbox Code Playgroud)

我按如下方式实现了这个类:

final HTTPDestination destination = sessionService.executeInLocalView(new SessionExecutionBody() {
            @Override
            public Object execute() {
                userService.setCurrentUser(userService.getAdminUser());
                final String destinationName = getConfigurationService().getConfiguration().getString(DESTINATION_PROPERTY);
                return getHttpDestinationService().getHTTPDestination(destinationName);
Run Code Online (Sandbox Code Playgroud)

当我运行sonarLint时,它显示的主要问题是将这个匿名类转换为lambda表达式,但是我无法找到相同的方法,我可以将该表达式转换为lambda吗?

java lambda anonymous-class java-8

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

如何从lambda表达式中收集列表

我正在写一个方法,它将返回regiondata的列表,我正在以下面的方式做但是得到错误

@Override
    public List<RegionData> getAllRegionsForDeliveryCountries()
    {
        final List<RegionData> regionData = new ArrayList<>();
        final List<String> countriesIso = getCountryService().getDeliveryCountriesIso();
        regionData = countriesIso.stream().map(c->i18nFacade.getRegionsForCountryIso(c)).collect(Collectors.toList());
        return regionData;
    }
Run Code Online (Sandbox Code Playgroud)

我收到了错误

type mismatch: cannot convert from List<List<RegionData>> to List<RegionData>
Run Code Online (Sandbox Code Playgroud)

on line regionData = countriesIso.stream().map(c-> i18nFacade.getRegionsForCountryIso(c)).collect(Collectors.toList());

函数i18nFacade.getRegionsForCountryIso(c)返回一个区域数据列表,我想将这些列表组合成单个列表.我尝试使用lambda但无法这样做.

java java-8 java-stream

5
推荐指数
2
解决办法
4785
查看次数

在python中,如何使用正则表达式将方括号替换为括号

我有一个清单:list = [1,2,3].我想将其转换为带括号的字符串:string = (1,2,3).

目前我正在使用字符串替换string = str(list).replace('[','(').replace(']',')').但我认为使用regex.sub有更好的方法.但我不知道该怎么做.非常感谢

python regex

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

共享对象位置

我正在使用此方法将共享对象保存在特定位置,但我无法提供路径

SharedObject.getLocal("save","how to give path here for window");
Run Code Online (Sandbox Code Playgroud)

这给出了以下错误

Error: Error #2130: Unable to flush SharedObject.
at Error$/throwError()
at flash.net::SharedObject/flush()
at OnlineDiagramEditor/SaveData_mouseDownHandler()[C:\Users\ruchidod\Adobe Flash Builder 4.6\OnlineDiagramEditor\src\OnlineDiagramEditor.mxml:3240]
at OnlineDiagramEditor/__SaveData_mouseDown()[C:\Users\ruchidod\Adobe Flash Builder 4.6\OnlineDiagramEditor\src\OnlineDiagramEditor.mxml:3522]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:13152]
at mx.managers::SystemManager/mouseEventHandler()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\SystemManager.as:2918]
Run Code Online (Sandbox Code Playgroud)

有时它给

Error: Error #2134: Cannot create SharedObject.
at flash.net::SharedObject$/getLocal()
at OnlineDiagramEditor/SaveData_mouseDownHandler()[C:\Users\ruchidod\Adobe Flash Builder 4.6\OnlineDiagramEditor\src\OnlineDiagramEditor.mxml:3236]
at OnlineDiagramEditor/__SaveData_mouseDown()[C:\Users\ruchidod\Adobe Flash Builder 4.6\OnlineDiagramEditor\src\OnlineDiagramEditor.mxml:3522]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:13152]
at mx.managers::SystemManager/mouseEventHandler()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\SystemManager.as:2918]
Run Code Online (Sandbox Code Playgroud)

actionscript-3 shared-objects

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

使用Hadoop 1.0.3进行HBase配置

我正在使用cygbin在寡妇-7中安装hadoop-1.0.3.现在我想安装HBase所以请告诉我哪个版本的Hbase与hadoop 1.0.3兼容?

hadoop hbase

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

我应该如何使用递归递增数字?

我有一个数字的问题,我想使用递归函数递增.该函数没有像我期望的那样返回值.在调试时,我看到数字增加但是当返回值时,似乎对数字的调整以相反的顺序返回.

这是一个简单的例子:

private static int recursionTest(int num){
    if (num < 10){
        recursionTest(++num);
    }
    return num;
}

public static void main(String[] args) {
    System.out.println(recursionTest(1));
}
Run Code Online (Sandbox Code Playgroud)

输出始终为2.当我使用逐步调试器时,我看到以下内容:

  1. 每次迭代时,数字增加1.
  2. 当数字达到10时,执行return语句.
  3. 然后调试器突出显示"recursionTest(++ num);" 但是这个数字减少了1.
  4. return语句再次执行.
  5. 重复步骤3和4,直到最终返回值2.

为什么值最终会减少,如何返回最初计算的值?

java recursion

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

如何使用流替换两个循环并保留列表中相同的元素

Set <ShipperModel> shippers = baseSiteSerivce.getCurrentBaseSite().getStores().get(0).getShippers();        
final List<KeyValueStoreModel> kvList = keyValueStoreService.getKeyValueStoreModelListByCode(HERITAGEUNIT_DELIVERYINSTRUCTION_SHIPVIA);

for (ShipperModel shipperModel : shippers)
{
    for (KeyValueStoreModel keyValueStoreModel : kvList)
    {
        if(shipperModel.getCode().equals(keyValueStoreModel.getCode()))
        {
            // if codes are equals then it will remain in the kvList.
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我有两个项目列表,并根据托运人我想过滤kvlist我想执行操作kvlist.remainAll(shipper(based on code)),并希望将这些循环转换为流代码.

java collections java-8 java-stream

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

如何在使用收集器收集元素时合并列表/集合

我正在尝试根据他们的名称获取产品评论地图,并且需要像这样的地图

Map<String, Set<String>> productReviewMap;
Run Code Online (Sandbox Code Playgroud)

但是当我尝试获取地图时,我得到了

Map<String, Set<Set<String>>> productReviewMap
Run Code Online (Sandbox Code Playgroud)

基于以下代码:

Map<String, Set<Set<String>>> productReviewMap = products.stream().collect(
                    Collectors.groupingBy(Product::getName, Collectors.mapping(Product::getReviews, Collectors.toSet())));
Run Code Online (Sandbox Code Playgroud)

我如何获得预期的地图。我们在流中使用 flatMap 但如何在收集器中实现它?

java java-8 java-stream

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

删除java中的空格和特殊字符

我有String,其中包含一些特殊字符和空格.我想删除空格和特殊字符,我正在这样做

String str =  "45,%$^ Sharma%$&^,is,46&* a$# java#$43 Developer$#$^ in#$^ CST&^* web*&(,but He%^&^% want to move@!$@# in another team";
    System.out.println( str.replaceAll("[^a-zA-Z]", " ").replaceAll("\\s+"," "));


Output :- sharma is a java Developer in CST web but He want to move in another team
Run Code Online (Sandbox Code Playgroud)

我可以使用单一操作吗?怎么样?

java regex string

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