小编Ulr*_*olz的帖子

Java调试模式:如何获取函数调用的返回值

Eclipse Java Debug模式的变量视图允许检查变量的值.我经常缺少的是检查方法的返回值:如果这样的返回值没有存储到变量中,而是立即用于调用其中一个方法,那么它在调试器中是不可见的.

例如,考虑foo.getBar().equals("xxx");在那里getBar()产生一个字符串.如果来源foo不可用,getBar()在调用之前如何检查结果.equals()?当然,可以通过引入保存结果的局部变量来更改代码.但总的来说这太不切实际了.

Eclipse Standard/SDK

版本:Luna Service Release 1(4.4.1)Build id:20140925-1800

java eclipse debugging

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

ArrayUtils.isNotEmpty的Javadoc有问题吗?

ArrayUtils.isNotEmpty()Apache Commons Lang中的javadoc 似乎是错误的.或者,至少是误导性的.它说

返回:如果数组不为空或不为null,则返回true

根据我的理解,空数组不是null.所以,根据上面的定义,isNotEmpty()应该返回true一个空数组,这是违反直觉的.

岂不

返回:如果数组不为null且不为空,则返回true

更正确吗?

java arrays apache-commons-lang

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

在ABAP中调用方法的不同方法

对不起,这个基本的ABAP问题.在ABAP中调用方法的不同方法有哪些?他们的"官方"名字是什么?我听说过执行,方法调用和内部/内联方法调用.

我猜,Perform使用PERFORM关键字和方法调用CALL METHOD语法.但什么是"内部"或"内联方法调用"?

abap call

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

YAML:添加外部文档的链接/引用

如何添加YAML指向例如另一个网站的文件的链接?描述字段没问题.

我阅读了YAML文档,但找不到"外部引用"的引用.

yaml

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

具有Object和原始类型的不明确的varargs方法

考虑以下两组方法.第一个被接受,第二个被拒绝为含糊不清.唯一的区别是使用int和Integer.

是否特别需要拒绝第二个?这意味着在拳击之后接受它(这将导致第一组)有一个问题.我在这里想念什么?

从我的角度来看,Java编译器在这里太局限了.

第1组:

public void test(Object... values) {}

public void test(Integer x, Object... values) {} // difference here

public void b() {
    test(1, "y"); // accepted
}
Run Code Online (Sandbox Code Playgroud)

第2集:

public void test(Object... values) {}

public void test(int x, Object... values) {} // difference here

public void b() {
    test(1, "y"); // marked as ambiguous
}
Run Code Online (Sandbox Code Playgroud)

Set 2产生编译器错误:

 error: reference to test is ambiguous
    test(1, "y"); // marked as ambiguous
    ^
  both method test(Object...) in T and method test(int,Object...) in T …
Run Code Online (Sandbox Code Playgroud)

java variadic-functions primitive-types

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

java micro-optimization:将一组布尔实例变量与基于int的位向量相结合

我们有一个包含许多实例的类,并遇到内存问题.因此,我们尝试减少这个类的内存需求.一个想法是以下.

该类有许多布尔实例变量,每个变量在初始实现中占用一个单词.可以想到将它们组合到存储在int中的迷你位向量,使得它们的组合存储器要求将是一个字.

但我怀疑Java VM正在进行这种优化,因此手动执行它不会获得任何额外的节省.对?

java boolean micro-optimization bitvector

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

SAP逻辑数据库隐式包含宏.怎么样?

我们正在编写一个用Java解析和转换ABAP代码的工具.因此,我们无意编写新的ABAP代码,但我们的工具必须处理所有ABAP,甚至是过时的语句.此外,我不是ABAP专家.

我们看到的一个对象使用begin_of_block在object中定义的宏RFDBRMAC.如果使用逻辑数据库,BRF则加载包含; 使用另一个逻辑数据库以及根本没有逻辑数据库将不会加载它.但它的相应对象SAPDBBRF和其中都没有包括提及RFDBRMAC.特别是,前者都不包括后者.

如何将逻辑数据库分配给BRF程序使其包含RFDBRMAC

使用逻辑数据库BRF的演示程序.这个宏是众所周知的 使用逻辑数据库BRF的演示程序. 这个宏是众所周知的

演示程序使用不同的逻辑数据库.宏是未知的 演示程序使用不同的逻辑数据库. 宏是未知的

sap abap

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

jstack 导致“Windbg 错误:WaitForEvent 失败”

在 Windows 7 上,我尝试通过执行命令从 Java 进程获取堆栈跟踪

jstack.exe -F xxx

来自另一个 Java 进程,其中 xxx 是目标进程的 PID。我收到错误

附加到进程时出错:Windbg 错误:WaitForEvent 失败!

知道为什么吗?

java windows jstack

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

Windows 命令行上基于 Eclipse 的应用程序输出仅在通过管道传输时可见(不直接在 cmd 中)

我们有一个基于 Eclipse(主类实现IApplication)的 Java 应用程序,它是从 Windows 命令行启动的。它的输出System.out不可见/打印到启动它的命令窗口中。然而,当将输出通过管道传输到 时more,输出很好。怎么来的?

例如,考虑helloworld.exe. C:\>helloworld.exe在命令窗口中运行时,应用程序只是返回。但是在运行时C:\>helloworld.exe | more,屏幕显示

C:>helloworld.exe | 更多的

你好,世界

C:>

在 linux 上,输出很好。如何在 Windows 上查看输出?

一些要求的信息:

  • 该应用程序相当大。我可能无法削减它。输出是简单的调用System.out.prinln("xxx");
  • Java版1.8.0_60,Eclipse3.6.2
  • 使用>std.txt 2>err.txt表明输出确实在标准输出上。
  • 行尾是 CR/LF

.ini文件内容如下

--launcher.suppressErrors
-vmargs
-Xms256m
-Xmx4096m
-Djava.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory
-Djava.library.path=plugins
Run Code Online (Sandbox Code Playgroud)

也许这个问题是相关的?

java eclipse windows cmd stdout

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

ABAP中的求值顺序

ABAP 是否有明确的评估顺序?例如,在表达式 中,是否可以保证首先评估/执行foo( ) + bar( )哪个方法foo( )和?bar( )在 ABAP 关键字文档中找不到此类信息。

abap

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

ABAP CALL METHOD:'静态'和'动态'的含义

我对ABAP中术语'静态'和'动态'wrt CALL方法的含义有点困惑.

一方面,static指的是可以在没有实例的情况下访问的类的组件.动态是指在运行时通过字段内容进行访问.

那么,(class)=>(meth)是静态方法的动态调用吗?!

那么反过来的术语是什么?

  • dynamic的一个含义是:(meth_name)meth_name需要一个类似字符的字段,该字段在执行语句时必须包含方法的名称.因此,oref->meth静态方法调用

  • 一个静态组件类的补偿可以使用名称进行访问class=>comp.这里,组件可以是一种方法

abap class

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

带有动态方法名称的 CALL METHOD,RuntimeException

我尝试CALL METHOD在 7.40 系统上演示带有动态方法名称的语句。我使用以下测试代码并在第 27 行得到 ABAP 运行时错误。 异常状态描述中的错误分析... in the class LCL, the method "m" could not be found. 但是独立方法调用成功调用m.

REPORT ZUTEST10.
CLASS lcl DEFINITION.
  PUBLIC SECTION.
    METHODS m.
ENDCLASS.
CLASS lcl IMPLEMENTATION.
  METHOD m.
    write / 'success'.
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.

DATA oref TYPE REF TO lcl.
CREATE OBJECT oref.
oref->m( ).                " works fine

DATA name TYPE c VALUE 'm'.
CALL METHOD oref->(name).  " <-- Runtime Error
 
Run Code Online (Sandbox Code Playgroud)

abap

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

在接口中定义默认方法会出现语法错误“无法解释 DEFAULT”

我在 7.40 系统上并尝试在接口中演示默认方法。为此,我将ABAP 关键字文档示例代码复制到报告中。最小代码:

INTERFACE intf.
  CLASS-METHODS m1 DEFAULT FAIL.
  METHODS       m2 DEFAULT IGNORE
                   RETURNING VALUE(r) TYPE i.
ENDINTERFACE.
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,这给出了语法错误

无法解释“默认”。可能的错误原因:拼写错误或逗号错误`。

我还尝试将接口定义为基于源代码视图的全局接口,但结果相同。基于表单的视图似乎没有提供default选项。

如何做对?

abap

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