小编Leo*_*oli的帖子

什么是更快,正则表达式或比较 - Java

我有两种可能性,制作正则表达式或制作if比较.

如果比较

if (!(modoImpressao.equals("IMPRESSORA") || 
   modoImpressao.equals("PDF") || modoImpressao.equals("AMBOS")))
Run Code Online (Sandbox Code Playgroud)

正则表达式匹配

if (!Pattern.compile("(IMPRESSORA)|(PDF)|(AMBOS)",Pattern.DOTALL).matcher(modoImpressao).find()){
            throw new EspdNeverStopParametroInvalidoException(TspdConstMessages.IMPRIMIR_PARAMETRO_MODOIMPRESSAO_INVALIDO,"TspdImprimirNFCe");
        }
Run Code Online (Sandbox Code Playgroud)

哪一个更快?

java regex performance if-statement

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

如何在Delphi中将String转换为PWideString以供JNA使用

我在Delphi中创建一个DLL,方法如下:

function teste3 : PWideString; stdcall;
  var
    _string : string;
  begin
    _string := 'teste';
    Result := PWideString(_string);
  end;
Run Code Online (Sandbox Code Playgroud)

然后我试图在JAVA中使用JNA lib调用此方法.在JAVA中调用该方法的代码是这样的:

System.out.println(TDLL.getInstance().teste3());
Run Code Online (Sandbox Code Playgroud)

但是当调用的返回只是char t时,文本的其余部分才会出现.

我怎么能转换StringPWideString,而不会丢失所有的字符?

Obs:我也尝试过返回PWideChar但结果是一样的.

java delphi string dll jna

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

标签 统计

java ×2

delphi ×1

dll ×1

if-statement ×1

jna ×1

performance ×1

regex ×1

string ×1