小编Sim*_*ane的帖子

Java中的Character.isAlphabetic和Character.isLetter有什么区别?

Java中的Character.isAlphabetic()和Character.isLetter()有什么区别?什么时候应该使用一个什么时候应该使用另一个?

java unicode

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

什么是芥末?

Joel Spolsky的博客中,我经常阅读有关"Wasabi"的内容,如果我查看Wikipedia,它会提到它是一种内部编程语言.

它是什么?他们为什么要用它?为什么不公开?

programming-languages

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

如何在del失败时停止批处理脚本

我们有一个删除files(del)和目录(rd)的批处理脚本.如果这些删除语句中的任何一个失败,有没有人知道如何暂停(失败)脚本的执行?如果文件/目录被Windows锁定,它们可能会失败.谢谢.

更新

我正在使用的陈述:

德尔: del *.* /S /Q

RD: FOR /D %%G in (*) DO RD /s /q %%G

batch-file

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

为什么菱形运算符不适用于Java 7中的java.util.Collections方法?

在Java 1.7.0_55中,如果我写这个字段声明,我得到一个编译错误("不兼容的类型"):

   private final Map<String,Object> myMap =
       Collections.synchronizedMap(new HashMap<>());
Run Code Online (Sandbox Code Playgroud)

如果我把它改为:

   private final Map<String,Object> myMap =
       Collections.synchronizedMap(new HashMap<String,Object>());
Run Code Online (Sandbox Code Playgroud)

它汇编很好.(我在这里使用synchronizedMap作为示例,但对于其他集合方法也是如此,不可修改*,同步*等)

但是为什么钻石操作员不像我期望的那样工作呢?由于Collections.synchronizedMap()声明为:

public static <K,V> Map<K,V> synchronizedMap(Map<K,V> m) {
Run Code Online (Sandbox Code Playgroud)

在我看来,构造函数调用的类型参数必须与字段声明的类型参数相同,并且编译器应该能够基于此推断构造的类类型参数.

我试图在JLS中寻找一个条款,说这种语法是不可接受的,但我找不到一个.有人能指点我吗?

java generics diamond-operator

10
推荐指数
1
解决办法
6880
查看次数

编写FogBugz的编程语言是什么?

据我所知,FogBugz最初是用VBScript编写的.现在显然他们使用自己的自定义编译器和语言将源代码转换为更易于访问的语言,如PHP和(我认为)C#.这种语言有名字吗?你好世界的样子是什么样的?有没有希望看到这个编译器向公众发布?

compiler-construction fogbugz programming-languages

8
推荐指数
1
解决办法
1242
查看次数

应该何时初始化类 - 在加载时或首次使用时?

可以使用以下方法动态加载类java.lang.Class:

public static Class<?> forName(String name, boolean initialize,
                               ClassLoader loader)
Run Code Online (Sandbox Code Playgroud)

根据JavaDoc,第二个参数用于控制类初始化的时间(执行静态初始化代码).如果true,在加载后和执行此方法期间初始化类; 如果false,初始化延迟到第一次使用该类.

现在,我理解了所有这些,但文档没有说明如何决定使用哪种策略.总是立即进行初始化更好吗?总是推迟首次使用会更好吗?这取决于具体情况吗?

java classloader

8
推荐指数
1
解决办法
145
查看次数

MFC工具提示仅在特殊场合出现

我的任务是为配置菜单中的每个项目分配工具提示.我已经完成了"添加"工具提示到页面上的每个控件,但似乎有时工具提示显示,有时它不显示,具体取决于屏幕上控件的位置.

首先工具提示 - 我的页面

EnableToolTips(TRUE);
Run Code Online (Sandbox Code Playgroud)

在每个CPropertyPage的OnInitDialog方法中.然后我添加通知地图

ON_NOTIFY_EX(TTN_NEEDTEXT, 0, OnToolTipText)
Run Code Online (Sandbox Code Playgroud)

使用OnToolTipText函数看起来如此

BOOL CCfgPrefPage::OnToolTipText( UINT id, NMHDR * pNMHDR, LRESULT * pResult )
{
    TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pNMHDR;
    UINT nID = pNMHDR->idFrom;

    if (pTTT->uFlags & TTF_IDISHWND)
    {
        nID = ::GetDlgCtrlID((HWND)nID);
        if(nID)
        {
            if( nID == GetDlgItem(IDC_PICKDIST_EDIT)->GetDlgCtrlID())  
                _tcsncpy_s(pTTT->szText, _T("Tool Tip Text"), _TRUNCATE);
            else if( nID == GetDlgItem(IDC_ENDPTTOL_EDIT)->GetDlgCtrlID())  
                _tcsncpy_s(pTTT->szText, _T("Tool Tip Text"), _TRUNCATE);

            pTTT->lpszText = pTTT->szText; // Sanity Check
            pTTT->hinst = AfxGetResourceHandle(); // Don't think this is needed at all
            return TRUE;
        } …
Run Code Online (Sandbox Code Playgroud)

c++ windows mfc tooltip

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

是汽车; 一个有效的C翻译单位?

创建一个test.c包含以下代码的文件:

auto;
Run Code Online (Sandbox Code Playgroud)

用clang 6.0编译它:clang -c test.c.它将成功生成一个目标文件test.o,虽然没有实际内容(目标文件头除外).它会打印一个警告,但仍接受此作为有效代码:

test.c:1:1: warning: declaration does not declare anything [-Wmissing-declarations]
auto;
^~~~
1 warning generated.
Run Code Online (Sandbox Code Playgroud)

相比之下,gcc 4.9拒绝编译test.c,生成错误:

test.c:1:1: error: 'auto' in file-scope empty declaration
 auto;
 ^
Run Code Online (Sandbox Code Playgroud)

为什么clang生成警告但是接受这个翻译单元是有效的,而gcc生成错误并拒绝编译它?谁的行为更符合C标准?允许自动声明什么都没有声明的重点是什么?

c gcc clang

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

类似芥末的网络编程语言

是否有任何开源或商业网络编程语言的功能与 Fog Creek 的 Wasabi 非常相似?就像您用这种母语言编写 Web 应用程序一样,然后它会编译为适用于 Linux 主机的 php 和适用于 Windows 主机的 ASP.NET。

programming-languages

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

JcaPEMWriter 可以生成 PKCS#8 输出吗?

以下代码使用JcaPEMWriterBouncyCastle 中的类以 PKCS#1 格式 ( -----BEGIN RSA PRIVATE KEY-----)输出随机生成的 RSA 私钥:

public static void main(String[] args) throws Exception {
    final KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
    kpg.initialize(2048, null);
    final KeyPair kp = kpg.generateKeyPair();
    final PrivateKey privateKey = kp.getPrivate();
    final StringWriter s = new StringWriter();
    try (JcaPEMWriter w = new JcaPEMWriter(s)) {
        w.writeObject(privateKey);
    }
    System.out.println(s);
}
Run Code Online (Sandbox Code Playgroud)

有没有办法让JcaPEMWriter输出 PKCS#8 格式 ( -----BEGIN PRIVATE KEY-----) 代替?

java bouncycastle pem pkcs#8 pkcs#1

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

ClassLoader.resolveClass() 实际上做了什么吗?

这是OpenJDK 20+10java.lang.ClassLoader.resolveClass(Class)中的定义:

    protected final void resolveClass(Class<?> c) {
        if (c == null) {
            throw new NullPointerException();
        }
    }
Run Code Online (Sandbox Code Playgroud)

除了检查参数是否非空之外,它似乎什么也没做。然而,文档评论声称:

    /**
     * Links the specified class.  This (misleadingly named) method may be
     * used by a class loader to link a class.  If the class {@code c} has
     * already been linked, then this method simply returns. Otherwise, the
     * class is linked as described in the "Execution" chapter of
     * <cite>The Java Language Specification</cite>.
Run Code Online (Sandbox Code Playgroud)

调用这个方法实际上有什么用处吗?因为它是final,子类不能重写它以使其执行任何不同的操作。它实际上是一个除了空检查之外什么都不做的方法,还是 JVM …

java classloader

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

验证JSON数组长度

我试图写一个if语句,确定getDeptJSON数组是否包含多个值.如果是,则重定向到其他页面.通过我的研究,它似乎很简单getDept.length > 1,但我还是无法完成这项工作.

我的Javascript代码如下:

$.getJSON("https://apex.oracle.com/pls/apex/mfajertest1/department/"+$x('P2_DEPT_NO').value, function(getDept) 
{
    console.log(getDept);
    if(getDept.length == 0)
        {
                window.alert("No Department with that ID");
        }
    else if(getDept.length > 1)
        {   
                apex.navigation.redirect('f?p=71293:11');
        }
    else
        {
    $x('P2_DEPT_NAME').readOnly = false;
    $x('P2_DEPT_NAME').value=getDept.items[0].dname;
    $x('P2_DEPT_NAME').readOnly = true;
    $x('P2_DEPT_LOC').readOnly = false;
    $x('P2_DEPT_LOC').value=getDept.items[0].loc;
    $x('P2_DEPT_LOC').readOnly = true;
    $x('P2_DEPT_NO').readOnly = true;
  }
});
Run Code Online (Sandbox Code Playgroud)

getDept JSON数组包含以下信息:

{
    "next": {
        "$ref": "https://apex.oracle.com/pls/apex/mfajertest1/department/%7Bid%7D?page=1"
    },
    "items": [
        {
            "deptno": 10,
            "dname": "accounting",
            "loc": "madison"
        },
        {
            "deptno": 20,
            "dname": "Finance",
            "loc": "Milwaukee"
        },
        {
            "deptno": …
Run Code Online (Sandbox Code Playgroud)

javascript arrays json oracle-apex

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

UEFI 变量命名空间“{8be4df61-93ca-11d2-aa0d-00e098032b8c}”是否有标准名称?

UEFI标准定义了各种标准变量,例如OsIndicationsSupported在由GUID标识的命名空间中"{8be4df61-93ca-11d2-aa0d-00e098032b8c}"

我需要在代码中将该 GUID 声明为常量,因此我需要为其命名。我想我可以编一些东西,但如果有一个标准的名称,最好使用它。那么这个命名空间有标准的名称吗?

uefi

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