小编aio*_*obe的帖子

ANTLR,表达式语法有问题

我最近开始使用 ANTLR。我目前正试图编码与表达语法+-*array[index]和几个结构。

这是所需的语法:

Exp -> Exp (+ | - | * | < | &&) Exp
     | Exp [ Exp ]
     | -Exp
     | ( Exp )
     | Exp.length
     | true
     | false
     | Id
     | this
     | ! Exp
Run Code Online (Sandbox Code Playgroud)

我首先将其重构为AndExp, SumExp,ProdExp等以解决优先级问题。大致是这样的:

Exp        -> AndExp
AndExp     -> CmpExp (&& CmpExp)*
CmpExp     -> SumExp (< SumExp)*
SumExp     -> ProdExp ((+|-) ProdExp)*
ProdExp    -> UnaryExp (Times UnaryExp)*
UnaryExp   -> …
Run Code Online (Sandbox Code Playgroud)

java parsing antlr

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

长值,左边为0

为什么会出现这种情况

long value = 123450;
System.out.println("value: " + value); 
Run Code Online (Sandbox Code Playgroud)

价值:123450

 

long value = 0123450;
//           ^
System.out.println("value: " + value); 
Run Code Online (Sandbox Code Playgroud)

价值:42792

这是什么42792?

java octal long-integer

2
推荐指数
3
解决办法
1936
查看次数

对位置列表进行排序

我想整理一份清单android.location.Location.排序应基于我的位置与列表中的位置的距离.所以我认为应该在搜索过程中计算距离.所以我决定使用插入排序.

这是正确的选择吗?

非常感谢

java sorting android

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

分组Java类

当我使用Eclipse时,我使用了大量的Java类(特别是在使用抽象工厂设计模式时),我需要一种可视化分组属于一起的类的方法(从接口扩展或实现的不同类混合在一起).

我需要一种方法来对扩展相同类或实现相同接口的类进行分组,这样我就不会失去心理健康.我前几天开始使用Eclipse和Java,所以我确定我错过了我需要的东西......

java eclipse explorer class package

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

getter&setters方法在Java中做了什么,它们与常规方法有什么不同,为什么getMethod有时会丢失?

我是Java新手.

  1. 任何人都可以解释getter和setter方法的作用吗?

  2. 我们必须使用getter setters方法以及它与普通方法的区别?

  3. 我看到一些编码只有setter方法所以这里为什么没有声明getters方法?

    private String wheel;
    
    /**
     * @param wheel the wheel to set
     */
    public void setWheel(String wheel) {
        this.wheel = wheel;
    }
    public void rotate() {
        System.out.println(wheel+"rotated");
    }
    
    Run Code Online (Sandbox Code Playgroud)

java

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

使用HashMap进行Java内存管理

我正在开发一个应用程序,它将大量数据从数据库读入a Map<String,Map<String,Map<String,String>>>,处理它,并使用内部xml编写器将处理后的报告写入电子表格.整个运行大约需要12个小时.

我发现我得到了

Exception in thread "CursorController-Thread-0" java.lang.OutOfMemoryError: Java heap space
    at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:45)
    at java.lang.StringBuilder.<init>(StringBuilder.java:68)
Run Code Online (Sandbox Code Playgroud)

当我尝试编写这个jumbo文件时.出于这个原因,我认为最好在Map<String,Map<String,String>>完成处理时编写每个(注意更深层).

我的问题是,我怎样才能确保Map<String,Map<String,String>>在写完之后它不会保留在内存中,因为Map >>仍然会包含它?

java memory memory-management hashmap map

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

在这种情况下应该使用哪个集合?

任何人都可以建议我在这种情况下使用哪个集合:

每位学生都有一份付款记录,其中包含学生/家庭的付款详情.系统应确保没有针对学生帐户的重复付款.该计划应该能够为学生添加付款详细信息,并确保没有注册重复的付款细节.

java

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

"设置"是Java的关键字吗?

Java上的初学者,我从一个编译的大项目中获得了来自.java文件的这段代码

for (Var var : cfg.getArgs())
    set(var);
Run Code Online (Sandbox Code Playgroud)

但在我的Java程序中没有该set方法的定义.我只是想知道是否set是Java的关键字?

java set keyword

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

为什么<?扩展接口>而不是<?实现接口>

我有以下代码:

ArrayList<? extends IValues> valuesList
Run Code Online (Sandbox Code Playgroud)

IValues是一个interface.该列表填充implementIValues接口的类/对象.我理解这个列表中每个对象的概念必须履行它们实现的接口所规定的合同.为什么java语言不这样做:

ArrayList<? implements IValues> valuesList
Run Code Online (Sandbox Code Playgroud)

?这对用户来说会更清楚,不是吗?

java generics interface

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

如何初始化匿名类的对象?

我们不能在匿名类中声明构造函数.但是如果我需要使用局部变量的值初始化匿名类的对象的状态,我该怎么做?

java constructor inner-classes

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