小编Nic*_*lai的帖子

当toString()和hashCode()被覆盖时,如何获取java中对象的"对象引用"?

我想在Java中打印对象的"对象引用"以进行调试.即根据情况确保对象是相同的(或不同的).

问题是有问题的类继承自另一个类,它覆盖了toString()和hashCode(),它们通常会给我id.

示例情况:运行多线程应用程序,其中我(在开发期间)想要检查所有线程是否使用相同的资源对象实例.

java object hashcode

100
推荐指数
4
解决办法
11万
查看次数

是否存在一个现有的库方法,用于检查Java中的String是大写还是小写?

我知道upper()Java和其他框架中有很多方法,比如Apache commons lang,它将String转换为全部大写.

有没有提供任何公共库等的方法isUpper(String s)isLower(String s)方式,检查在字符串中所有字符都是大写或小写?

编辑:

关于转换为Upper并与之比较的许多好答案.我想我应该更具体一点,并说我已经想到了这一点,但我希望能够使用现有方法.

关于可能在apache.commons.lang.StringUtils中包含此内容的好评.有人甚至提交了一个补丁(20090310).希望我们很快就会看到这一点. https://issues.apache.org/jira/browse/LANG-471

编辑:

我需要这种方法的方法是将有时会全部大写的酒店名称大写.如果它们都是小写或大写,我只想把它们大写.我确实遇到了一些帖子中提到的非字母字符的问题,最后做了类似这样的事情:

private static boolean isAllUpper(String s) {
    for(char c : s.toCharArray()) {
       if(Character.isLetter(c) && Character.isLowerCase(c)) {
           return false;
        }
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

这个讨论和不同的解决方案(有不同的问题),清楚地表明在commons.lang中需要一个好的实体isAllUpper(String s)方法.

在那之前,我猜这myString.toUpperCase().equals(myString)是最好的方式.

java string

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

是否可以扩展Java Enums?

这是我想要完成的,我有一个类具有一些值的枚举,我想继承它并为枚举添加更多的值.这是一个不好的例子,但是:

public class Digits
{
 public enum Digit
 {
  0, 1, 2, 3, 4, 5, 6, 7, 8, 9
 }
}

public class HexDigits extends Digits
{
 public enum Digit
 {
  A, B, C, D, E, F
 }
}
Run Code Online (Sandbox Code Playgroud)

这样HexDigits.Digit包含所有十六进制数字.那可能吗?

java enums

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

Spring HandlerInterceptors如何实例化?

是否有针对每个请求的Spring HandlerInterceptors的新实例?

我在Spring中有一个拦截器,它有一个类字段.

public class MyInterceptor extends HandlerInterceptorAdapter {
    Private boolean state = false;

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
        state = true;
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
        if (state == true) {
        System.out.println("Success");
        }
}
Run Code Online (Sandbox Code Playgroud)

如果使用此拦截器,它将始终打印"成功"吗?(无论有多少线程在同一时间这样做?)

java spring interceptor

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

有没有办法在 Spring 拦截器中检查 HttpResponse 是否是重定向?

我想编写一个 Spring MVC HandlerInterceptorAdaptor,它根据 HttpResponse 是否是重定向在 postHandle() 方法中执行不同的操作。

这可能吗,如果可以,怎么办?

public class MenuInterceptor extends HandlerInterceptorAdapter {
public final void postHandle(HttpServletRequest request,
                       HttpServletResponse response,
                       Object handler,
                       ModelAndView modelAndView) throws SystemException {
    if (redirect) {
        // do somethnig
    } else {
        // do something else
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:有没有比这更好的方法:

if (modelAndView.getView() instanceof RedirectView || modelAndView.getViewName().startsWith("redirect:")) {
    // Do something
 } else {
    // Do something else
 }
Run Code Online (Sandbox Code Playgroud)

java spring-mvc interceptor

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

如何将有序的整数列表划分为大小均匀的子列表?

有没有人有一个很好的算法来获取有序的整数列表,即:
[1,3,6,7,8,10,11,13,14,17,19,23,25,27,28]

在给定数量的均匀大小的有序子列表中,即4,它将是:
[ 1,3,6 ] [7,8,10,11] [13,14,17,19] [23,25,27,28] ]

要求是每个子列表都是有序的并且尺寸尽可能相似.

java sorting algorithm

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

什么是cookie点规则?

我一起使用Google Analytics和Google网站优化工具.在我们的开发平台上,我突然意识到有些cookie被设置了两次.

GA Cookie:

__utma
__umtb
__utmc
__utmz
Run Code Online (Sandbox Code Playgroud)

全部由GWO和GA设定.我只期望看到一组这些饼干.GWO在域名前面设置一个点:

.dev.example.com

GA将它们设置为:

dev.example.com

我尝试谷歌这一点,并在RFC2109 HTTP状态管理机制中阅读有关它的内容

在SO上搜索它,导致许多答案引用"cookie点规则",但我仍然没有得到它.

该规则究竟是什么以及它具有哪些含义?

cookies google-analytics google-website-optimizer

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

为什么我需要在Java方法中返回一个值,即使我总是抛出异常?

为什么以下代码没有编译:

    @Test
public boolean testException() throws MyException {
    try {
        System.out.println("Try some resource, which may throw an exception");
        return resource.getSomething();
    } catch (Exception e) {
        logAndThrowSpecificException(e);
    } finally {
        System.out.println("Clean up");
    }
}

private void logAndThrowSpecificException(Exception e) throws MyException {
    throw new MyException("Checked exception", e);
}
Run Code Online (Sandbox Code Playgroud)

在IntelliJ中它抱怨我需要从testException()方法的最后一行返回一个值,但据我所知,没有代码路径可以达到这一点?我错过了什么?

StackOverflow上类似的问题,但我能找到的最佳解决方案是只输入一个return null语句.对于为什么这是必要的,没有正确的答案.

java exception-handling exception

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