小编Mik*_* B.的帖子

SELECT 条件中不区分大小写的比较

在 ABAP SQL 中,我可以在比较WHEREa的子句中的字段时忽略这种情况SELECT吗?

SELECT * 
FROM some_table 
WHERE field1 = variable1.
Run Code Online (Sandbox Code Playgroud)

我如何比较field1,以variable1忽略不同的情况下?

abap opensql

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

在Javascript视图中纠正事件绑定?与XML视图绑定不同

在SAP UI5开发人员指南中,我找到了关于处理事件的说明:

1.6.2.5处理XML视图中的事件事件处理程序用作属性.属性名称是事件名称,例如"按"表示>按钮,属性值表示事件处理程序名称.必须将事件处理程序定义为视图控制器中的函数.要在XML视图中附加事件处理程序,请插入以下声明:... ...按下按钮时执行方法controller.doSomething().

在我的XML视图中,我可以将其转换为:

<Select change="doSomething">
Run Code Online (Sandbox Code Playgroud)

当Select的值发生更改时,将调用controller.selectOnChange函数,并将此参数绑定到控制器本身.但是,当我在JavaScript视图中绑定此事件处理程序时,此参数将绑定到Select元素.

我假设这转换为我的JavaScript视图的以下代码:

new sap.m.Select({ change : oController.doSomething })
Run Code Online (Sandbox Code Playgroud)

我以错误的方式绑定事件处理程序吗?

sapui5

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

在Android中将文件从内部存储复制到外部存储

我的应用程序(Android API 15)制作图片并将其存储在内部存储器的文件夹中.现在,我想将此文件复制到外部存储器内的另一个文件夹,例如/sdcard/myapp.我尝试了以下方法:

方法#1:

private void copyFile(File src, File dst) throws IOException {

    File from = new File(src.getPath());
    File to = new File(dst.getPath());
    from.renameTo(to);
}
Run Code Online (Sandbox Code Playgroud)

方法#2:

private void copyFile(File src, File dst) throws IOException {

    FileChannel inChannel = null;
    FileChannel outChannel = null;

    try {
        inChannel = new FileInputStream(src).getChannel();
        outChannel = new FileOutputStream(dst).getChannel();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

    try {
        inChannel.transferTo(0, inChannel.size(), outChannel);
    } finally {
        if (inChannel != null)
            inChannel.close();
        if (outChannel != …
Run Code Online (Sandbox Code Playgroud)

java file-io android copy android-external-storage

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

Guava.Objects.hashCode vs Java.Objects.hashCode

在Java 8中有一个java.util.Objects包含hashCode()方法的类.同时谷歌Guava 19包含com.google.common.base.Objects,其中也有hashCode()方法.

我的问题:

  1. 有什么理由我更喜欢Guava的19而hashCode()不是Java的8?
  2. 我可以完全依赖Java 8,hashCode()还是最好留在Guava?

java hashcode guava java-8

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

多个newSingleThreadExecutor与ExecutorService的newFixedThreadPool

在我的应用程序中,我有4个不同的进程,这些进程在一些小的暂停时永久运行.

当前版本的代码在单独的旧学校线程中执行每个进程:

Thread nlpAnalyzer = new Thread(() -> {

    // infine lop for auto restore in case of crash
    //noinspection InfiniteLoopStatement
    while (true) {
        try {
            // this method should run permanently, pauses implemented internally
            NLPAnalyzer.analyzeNLP(dbCollection);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
});

nlpAnalyzer.setName("im_nlpAnalyzer");
nlpAnalyzer.start();
Run Code Online (Sandbox Code Playgroud)

现在我想用这个代码重构这个代码ExecutorService.为了做到这一点,我可以使用至少两种方法:

  • newFixedThreadPool(numOfProc);
  • numOfProc * newSingleThreadExecutor().

我的问题:

  1. 有什么理由我更喜欢一种选择吗?
  2. 使用X线程生成线程池还是生成X newSingleThreadExecutors 更接受什么?
  3. Pro et contra的每种方法?

java concurrency multithreading executorservice threadpool

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

SAPUI5中的attachMatched()和attachPatternMatched()和/或attachRouteMatched()和attachRoutePatternMatched()有什么区别?

对于以下SAPUI5路由方法之间的区别有一个示例感到高兴:

sap.ui.core.routing.Route

  • attachMatched()
  • attachPatternMatched()

sap.ui.core.routing.Router

  • attachRouteMatched()
  • attachRoutePatternMatched()

API说明了什么attachMatched()attachPatternMatched()没有任何区别。

API表示attachRouteMatched()

将event-handler附加fnFunctionrouteMatchedthis 的事件上 sap.ui.core.routing.Router

API表示attachRoutePatternMatched()

将event-handler附加fnFunctionroutePatternMatchedthis 的事件上sap.ui.core.routing.Router。此事件类似于路由匹配。但它只会对具有匹配模式的路由触发,而不会针对其父模式触发Routes

例如可以使用

sap.ui.define([
    "sap/ui/core/mvc/Controller"
], function (Controller) {
    "use strict";
    return Controller.extend("sap.ui.demo.wt.controller.Detail", {
        onInit: function () {
            var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
            oRouter.getRoute("detail").attachMatched(this._onObjectMatched, this);              
            // oRouter.attachRouteMatched(this._onObjectMatched, this);
        },
        _onObjectMatched: function (oEvent) {
            this.getView().bindElement({
                path: "/" + oEvent.getParameter("arguments").invoicePath,
                model: "invoice"
            });
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

要么 …

sapui5

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

如何使用PDFMake和vfs_fonts在Node.js上创建PDF?

看起来这个问题已经在旧版本的PDFMake中问了很多了,但是还没有更新为最新的目录结构。另外,将字体复制到根“ fonts”文件夹中也不太好。

在世界上,如何使用随附的vfs_fonts.js文件在Node.js 运行服务器版本的PDFMake(“ pdfmake”:“ ^ 0.1.31”)

在命令行上使用npm进行安装

npm install pdfmake fs --save
Run Code Online (Sandbox Code Playgroud)

使用以下命令启动Node.js应用index.js:

var fonts = {
    Roboto: {
        normal: 'fonts/Roboto-Regular.ttf',
        bold: 'fonts/Roboto-Medium.ttf',
        italics: 'fonts/Roboto-Italic.ttf',
        bolditalics: 'fonts/Roboto-MediumItalic.ttf'
    }
};

var PdfPrinter = require('pdfmake/src/printer');
var printer = new PdfPrinter(fonts);

var dd = {
    content: [
        'First paragraph',
        'Another paragraph'
    ]
}
var pdfDoc = printer.createPdfKitDocument(dd);
pdfDoc.pipe(fs.createWriteStream('basics.pdf')).on('finish',function(){
    //success
});
pdfDoc.end();
Run Code Online (Sandbox Code Playgroud)

击中奔跑:

/usr/local/bin/node index.js
fs.js:640
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^
Error: ENOENT: …
Run Code Online (Sandbox Code Playgroud)

pdfmake

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

空安全的好处

我是Kotlin的新手,我已经读过它似乎是继轮子之后最好的发明。无论如何,这使我感到怀疑,当然是因为我不了解该概念所隐含的一切。

继续我的理解,在我们NullPointerException对代码中的某些错误以及发生问题的位置但没有设置null的地方有如此清晰的认识之前。无论如何,很明显我们可以在这里等到空指针返回,以期了解回溯发生了什么。每个人都已经做到了,这绝非不可能。

现在有了Null Pointer Safety,我们不再有这种崩溃,只有一部分代码将在我们的应用程序中默默地执行(当然,我们假设所使用的引用不应该像以前一样为null),可能导致奇怪的行为比NullPointerException以前更难以理解,或者只是某些任务在某人意识到之前一个月没有执行。

空指针安全性提供的好处吗?

null kotlin

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

为什么bigDecimal的scale()方法与stripTrailingZeros()方法结合时返回负值?

为了避免出现像 10.0000 这样的值BigDecimal,我使用了stripTrailingZeros()返回值 10 而不是预期的 10.0000 的方法。现在,10 的小数位数应该为 0,因为对于零或正值,小数位数是小数点右侧的位数。然而,情况并非如此,因为它返回 -1。

Log.d("click", BigDecimal("10").toPlainString()) // return 10
Log.d("click", BigDecimal("10").stripTrailingZeros().toPlainString()) // return 10
Run Code Online (Sandbox Code Playgroud)

上面的代码返回相同的值 10 并且stripTrailingZeros()对其值没有影响。

Log.d("click", BigDecimal("10").scale().toString())  // return 0
Log.d("click", BigDecimal("10").stripTrailingZeros().scale().toString()) // return -1
Run Code Online (Sandbox Code Playgroud)

但这些值的范围不同,因为它返回 0 和 -1,而且

Log.d("click", BigDecimal("100").stripTrailingZeros().scale().toString()) // return -2
Log.d("click", BigDecimal("1000").stripTrailingZeros().scale().toString()) // return -3
Run Code Online (Sandbox Code Playgroud)

有什么办法可以得到我预期的结果吗?谁能解释为什么scale()方法返回负值?

java android bigdecimal

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

无法将“mysql2/promise”导入 Node.js 13 / 14 上的 ES 模块 (MJS)

在从 CommonJS ( ) 迁移.cjs到 ES Modules ( .mjs) 时,我遇到了将命名空间 CJS 导入到 MJS 的问题:

\n
import mysqlPromise from "mysql2/promise";\n
Run Code Online (Sandbox Code Playgroud)\n

返回错误:

\n
\n

错误 [ERR_MODULE_NOT_FOUND]:找不到模块\n\'C:\\Users\\User\\IdeaProjects\\\xe2\x80\xa6\\node_modules\\mysql2\\promise\' 导入\n从\xe2\x80\ xa6

\n
\n

我查了一下相关线程ES模块支持吗?Node 13,但没有看到明确的解决方案。

\n

有没有办法将命名空间的 CJS 导入 ES Module/MJS?

\n

javascript commonjs node.js es6-module-loader es6-modules

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