小编Fra*_*ank的帖子

如何使用Java将float转换为int

我使用以下行将float转换为int,但它并不像我想的那样准确:

 float a=8.61f;
 int b;

 b=(int)a;
Run Code Online (Sandbox Code Playgroud)

结果是:( 8应该是9)

什么时候a = -7.65f,结果是:( -7应该是-8)

最好的方法是什么?

java floating-point int

329
推荐指数
7
解决办法
62万
查看次数

如何在Java中将对象数组转换为字符串数组

我使用以下代码将Object数组转换为String数组:

Object Object_Array[]=new Object[100];
// ... get values in the Object_Array

String String_Array[]=new String[Object_Array.length];

for (int i=0;i<String_Array.length;i++) String_Array[i]=Object_Array[i].toString();
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有另一种方法可以做到这一点,例如:

String_Array=(String[])Object_Array;
Run Code Online (Sandbox Code Playgroud)

但这会导致运行时错误: Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;

这样做的正确方法是什么?

java arrays string

236
推荐指数
7
解决办法
40万
查看次数

如何设置JDK Netbeans运行?

我有较旧的NB6.7,NB6.9,NB7.0,曾经在jdk1.6.0_21和jdk1.6.0_25上运行.现在我已经删除了这些的JDK,只有已jdk1.6.0_26和jdk1.7.0离开了,但我仍想保留旧的国家统计局,但现在当我运行它们,我得到这个消息:

"无法在指定的jdkhome中找到java安装C:\ Program Files(x86)\ Java\jdk1.6.0_25你想尝试使用默认版本吗?"

我试图找到它在哪里寻找"jdk1.6.0_25",并更新了"C:\ Program Files(x86)\ NetBeans 6.7"和"C:\ Users\USER.nbi\registry.xml"中的一些配置文件",然而该消息不断到来,我的问题是,在什么我需要改变它指向:C:\Program Files (x86)\Java\jdk1.6.0_26

java netbeans

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

如何在Java中使用servlet过滤器来更改传入的servlet请求URL?

如何使用servlet过滤器来更改传入的servlet请求URL

http://nm-java.appspot.com/Check_License/Dir_My_App/Dir_ABC/My_Obj_123

http://nm-java.appspot.com/Check_License?Contact_Id=My_Obj_123


更新:根据BalusC的以下步骤,我想出了以下代码:

public class UrlRewriteFilter implements Filter {

    @Override
    public void init(FilterConfig config) throws ServletException {
        //
    }

    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws ServletException, IOException {
        HttpServletRequest request = (HttpServletRequest) req;
        String requestURI = request.getRequestURI();

        if (requestURI.startsWith("/Check_License/Dir_My_App/")) {
            String toReplace = requestURI.substring(requestURI.indexOf("/Dir_My_App"), requestURI.lastIndexOf("/") + 1);
            String newURI = requestURI.replace(toReplace, "?Contact_Id=");
            req.getRequestDispatcher(newURI).forward(req, res);
        } else {
            chain.doFilter(req, res);
        }
    }

    @Override
    public void destroy() {
        //
    }
}
Run Code Online (Sandbox Code Playgroud)

相关条目web.xml如下所示: …

java url servlets request servlet-filters

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

Java SecurityException:签名者信息不匹配

我像往常一样重新编译了我的类,突然收到以下错误消息.为什么?我该如何解决?

java.lang.SecurityException: class "Chinese_English_Dictionary"'s signer information does not match signer information of other classes in the same package
    at java.lang.ClassLoader.checkCerts(ClassLoader.java:776)
Run Code Online (Sandbox Code Playgroud)

java securityexception certificate

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

如何将InputStream转换为FileInputStream

我的程序中有这一行:

InputStream Resource_InputStream=this.getClass().getClassLoader().getResourceAsStream("Resource_Name");
Run Code Online (Sandbox Code Playgroud)

但是如何从它获取FileInputStream [Resource_InputStream]?

java file-io

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

在非调试模式下,在Visual Studio的输出窗口中显示消息?

在Java中,您可以使用System.out.println(message)将消息打印到输出窗口.

Visual Studio中的等价物是什么?

我知道当我处于调试模式时,我可以使用它在输出窗口中查看消息:

Debug.WriteLine("Debug : User_Id = "+Session["User_Id"]);
System.Diagnostics.Trace.WriteLine("Debug : User_Id = "+Session["User_Id"]);
Run Code Online (Sandbox Code Playgroud)

如果不在Visual Studio中进行调试,如何才能完成此操作?

visual-studio

57
推荐指数
4
解决办法
10万
查看次数

如何使用Java 8 lambda从流中获取一系列项目?

在之前的问题中[ 如何在Java 8中动态进行过滤?] Stuart Marks给出了一个很好的答案,并提供了几个有用的工具来处理从流中选择topN和topPercent.

我会从原来的答案中把它们包括在内:

@FunctionalInterface
public interface Criterion {
    Stream<Widget> apply(Stream<Widget> s);
}

Criterion topN(Comparator<Widget> cmp, long n) {
    return stream -> stream.sorted(cmp).limit(n);
}

Criterion topPercent(Comparator<Widget> cmp, double pct) {
    return stream -> {
        List<Widget> temp =
            stream.sorted(cmp).collect(toList());
        return temp.stream()
                   .limit((long)(temp.size() * pct));
    };
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

[1]如何从包含一定数量项目的流中获取3到7中的热门项目,因此如果流中包含来自A1,A2 ... A10的项目,则调用

topNFromRange(Comparator<Widget> cmp, long from, long to) = topNFromRange(comparing(Widget::length), 3L, 7L)
Run Code Online (Sandbox Code Playgroud)

将返回{A3,A4,A5,A6,A7}

我能想到的最简单的方法是从原版获得前7 [T7],从原版获得前3 [T3],然后获得T7 - T3.

[2]如何从具有一定数量项目的流中获得前10%到前30%的顶级项目,因此如果流中包含来自X1,X2 ... X100的项目,则调用

topPercentFromRange(Comparator<Widget> cmp, double from, double to) = topNFromRange(comparing(Widget::length), 0.10, …
Run Code Online (Sandbox Code Playgroud)

java lambda filter java-8

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

如何处理URISyntaxException

我收到此错误消息:

java.net.URISyntaxException: Illegal character in query at index 31: http://finance.yahoo.com/q/h?s=^IXIC
Run Code Online (Sandbox Code Playgroud)

My_Url = http://finance.yahoo.com/q/h?s=^IXIC

当我将它复制到浏览器地址字段时,它显示正确的页面,它是有效的URL,但我不能解析它:new URI(My_Url)

我试过了My_Url=My_Url.replace("^","\\^"),但是

  1. 它不会是我需要的网址
  2. 它也不起作用

怎么办呢?

坦率

java uri

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

如何为Netbeans分配更多内存?

我的PC上有24 GB的RAM,但有时当Netbeans编译我的项目时,它说没有足够的内存来编译它,我查看了内存使用情况,它显示:586/590 M.

那么如何告诉Netbeans,有足够的RAM,可以根据需要使用?

memory netbeans

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