小编Raf*_*mal的帖子

为什么 JIT 编译器不能用来生成二进制文件?

JIT 编译器用于将 java 字节码转换为本机机器语言。据我所知,还没有程序可以直接将java字节码转换为二进制文件,例如.exe文件。那么为什么 JIT 编译器不能用于从字节码生成二进制文件呢?

java jit

4
推荐指数
1
解决办法
1020
查看次数

android - getIntent().getStringExtra()返回null

我已在我的应用程序中实现onPause()onResume()方法如下:

protected void onPause() {
        super.onPause();

        String receiver = phoneNoField.getText().toString();
        String message = messageBody.getText().toString();
        getIntent().putExtra(MESSAGE_RECEIVER, receiver);
        getIntent().putExtra(MESSAGE_BODY, message);

        Log.d(TAG, receiver + " " + message);       
    }


protected void onResume() {
        super.onResume();

        String receiver = getIntent().getStringExtra(MESSAGE_RECEIVER);
        String message = getIntent().getStringExtra(MESSAGE_BODY);
        if(receiver != null)
            phoneNoField.setText(receiver);
        if(message != null)
            messageBody.setText(message);

        Log.d(TAG, receiver + " " + message);       
    }
Run Code Online (Sandbox Code Playgroud)

onPause()调用方法时,我看到已经设置了值.但在我的onResume()方法中getStringExtra()总是返回null.我的做法有什么问题吗?

android android-intent android-activity

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

如何在单独的行上打印从shell扩展返回的每个单词?

当我们使用shell扩展时,它会在一行中提供所有扩展的单词.例如:

#!/bin/bash 
data="Hello\ {World,Rafi}"
eval echo $data
Run Code Online (Sandbox Code Playgroud)

这会产生以下输出:

Hello World Hello Rafi
Run Code Online (Sandbox Code Playgroud)

可以像这样在单独的一行输出每一行吗?

Hello World 
Hello Rafi
Run Code Online (Sandbox Code Playgroud)

bash shell

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

Java点与"任何字符"不匹配

点应匹配任何字符.那么为什么这个正则表达式不起作用呢?

String url = "http://wikipedia.org";
System.out.println(url.replace("htt.://", ""));
Run Code Online (Sandbox Code Playgroud)

输出: http://wikipedia.org

java regex string url replace

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

如何将 proto3 消息序列化为字符串并返回?

在 Java 中,我想将 proto3 消息转换为字符串:

  1. 我可以通过 HTTP 发送
  2. 随着更多字段添加到原型中,它仍然能够反序列化旧字符串吗?

如果您想知道为什么我需要序列化为字符串,我有一个原型:

message Order {
  ...
}
Run Code Online (Sandbox Code Playgroud)

我想从中创建一个要传递的字符串“order_tag”。

我看到了com.google.protobuf.TextFormat但它说它是针对 proto2 的,而且它也没有说明任何有关向后兼容性的信息。

java protocol-buffers

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

python:math.sqrt(x)函数有多准确?

请考虑Python中的以下代码片段:

m = int(math.sqrt(n))
Run Code Online (Sandbox Code Playgroud)

对于n = 25,它应该给出m = 5(并且它在我的shell中).但是根据我的C经验,我知道使用这样的表达式是一个坏主意,因为sqrt函数可能返回比实际值稍低的值,然后在舍入后我可能得到m = 4而不是m = 5.这个限制是否也是参与python?如果是这种情况,那么在python中编写这样的表达式的最佳方法是什么?如果我使用Java或C#会发生什么?此外,如果有任何不准确之处,有哪些因素可以控制它的数量?

c# python java

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

Ruby:irb在Windows上不起作用

我使用Ruby 1.9.3-p194一键安装程序在我的Windows 7 PC中安装了Ruby 1.93.我可以使用ruby命令来解释文件,但是当我输入irb它时会给我以下错误:

C:\Users\Acer>irb
F:/Programs/Ruby193/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2111:in `expand_path': non-absolute home
(ArgumentError)
        from F:/Programs/Ruby193/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2111:in `_rl_read_init_file'

        from F:/Programs/Ruby193/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2094:in `rl_read_init_file'
        from F:/Programs/Ruby193/lib/ruby/site_ruby/1.9.1/rbreadline.rb:2515:in `readline_initialize
_everything'
        from F:/Programs/Ruby193/lib/ruby/site_ruby/1.9.1/rbreadline.rb:3746:in `rl_initialize'
        from F:/Programs/Ruby193/lib/ruby/site_ruby/1.9.1/rbreadline.rb:4758:in `readline'
        from F:/Programs/Ruby193/lib/ruby/site_ruby/1.9.1/readline.rb:40:in `readline'
        from F:/Programs/Ruby193/lib/ruby/1.9.1/irb/input-method.rb:115:in `gets'
        from F:/Programs/Ruby193/lib/ruby/1.9.1/irb.rb:139:in `block (2 levels) in eval_input'
        from F:/Programs/Ruby193/lib/ruby/1.9.1/irb.rb:273:in `signal_status'
        from F:/Programs/Ruby193/lib/ruby/1.9.1/irb.rb:138:in `block in eval_input'
        from F:/Programs/Ruby193/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in `call'
        from F:/Programs/Ruby193/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in `buf_input'
        from F:/Programs/Ruby193/lib/ruby/1.9.1/irb/ruby-lex.rb:103:in `getc'
        from F:/Programs/Ruby193/lib/ruby/1.9.1/irb/slex.rb:205:in `match_io'
        from F:/Programs/Ruby193/lib/ruby/1.9.1/irb/slex.rb:75:in `match'
        from F:/Programs/Ruby193/lib/ruby/1.9.1/irb/ruby-lex.rb:286:in `token'
        from F:/Programs/Ruby193/lib/ruby/1.9.1/irb/ruby-lex.rb:262:in `lex'
        from F:/Programs/Ruby193/lib/ruby/1.9.1/irb/ruby-lex.rb:233:in `block (2 levels) in each_top …
Run Code Online (Sandbox Code Playgroud)

ruby irb

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

八度附加在2D单元阵列中

我正在尝试将元素添加到2D单元阵列行的末尾。我的代码是:

b = cell(5, 0)
b(1) = {b(1, :), 2}   % Trying to append at the end of the first row
Run Code Online (Sandbox Code Playgroud)

这给了我错误: error: A(I) = X: X must have the same size as I

我还尝试了其他各种形式,例如:

b = cell(5, 0)
b(1, end+1) = 2   % Ok, inserts 2 at [1,1]
b(2, end+1) = 3   % No, inserts 3 at [2,2] instead of [2, 1]
Run Code Online (Sandbox Code Playgroud)

matlab octave cell-array

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

将字符串转换为C中的代码行

我试图找到一种方法将字符串转换为我的代码行.

例如,我想尝试像这样:

int x=3;
char str[80];
gets(str);  // Assuming the user gives input: "x + 3"
y = str;
printf("%d",y); // Output: "6" (3 + 3)
Run Code Online (Sandbox Code Playgroud)

这样程序输出"6"(3 + 3).我想建立一个功能绘图仪.但在这里我卡住了,找不到任何方法.你能告诉我一种将这些字符串转换为代码行的方法吗?

c

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

GCC - memcpy自动复制空字符?

来自cplusplus.com关于memcpy:"该函数不检查源中的任何终止空字符 - 它总是复制正确的num个字节."

所以下面的代码应该给出运行时错误,不是吗?

char str1[20] = "";
char str2[20] = "Another Text---";

memcpy(str1, str2, strlen(str2));
printf("%s\n%s", str1, str2);
Run Code Online (Sandbox Code Playgroud)

但是我总是使用我的gcc编译器从这段代码中获得正确的输出.这是否意味着memcpy实际上从末尾复制空字符,str2或者它只是一个随机的情况?

编辑:我得到了相同的行为str1[20] = "A",因为一些答案指出str1[20] = ""正在使用所有NULL字符初始化字符串.

c gcc

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

std :: set elements消失了

std::set在下面的代码中创建了一个代码,其中元素基于数组进行排序.

int weight[] = {0, 1, 58, 21, 10, 21, 24};

struct Comp
{
    public:
    bool operator() (const int &a, const int &b) const
    {
        if (weight[a] == weight[b])
            return a < b;
        else
            return weight[a] < weight[b];
    }
};
set<int, Comp> s;
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,当我更改weight数组中的任何元素时,集合中的相应元素消失了.这是我的测试功能:

void print()
{
    printf("Elements = ");  
    for(int i = 1; i <= 6; i++)
        if(s.find(i) != s.end())
            printf("%2d ", i);;
    printf("\n");
}

int main()
{   
    for(int i = 1; i <= 6; …
Run Code Online (Sandbox Code Playgroud)

c++ stl

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

Java for循环迭代

考虑以下代码:

final String str = "1-2-3";

for (int idx = 0; idx < str.split("\\D").length; idx++) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

这部分代码str.split("\\D")会执行多少次?三次?或者编译器会看到str声明为final,只有一次调用str.split("\\D")就足够了吗?

java iterator for-loop

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