2010-03-22 32 views
6

tôi dường như bị mắc kẹt trong Kafka-đất, với một java.lang.String mà tôi dường như không thể sử dụng trong các chức năng MATLAB:MATLAB: đối phó với java.lang.String

K>> name 

name = 

Jason 

K>> sprintf('%s', name) 
??? Error using ==> sprintf 
Function is not defined for 'java.lang.String' inputs. 

K>> ['my name is ' name] 
??? Error using ==> horzcat 
The following error occurred converting from char to opaque: 
Error using ==> horzcat 
Undefined function or method 'opaque' for input arguments of type 'char'. 

thế nào có thể Tôi nhận được một java.lang.String để chuyển đổi thành một mảng ký tự MATLAB thông thường?

Trả lời

12

Matlab không biết làm thế nào để làm việc với bất cứ điều gì nhưng cấu trúc riêng của nó.

Chuyển đổi chuỗi đến một char:

cName = char(name);

4

đừng bận tâm, tôi figured it out, bạn phải sử dụng phương pháp char() một cách rõ ràng:

K>> ['my name is ' char(name)] 

ans = 

my name is Jason 
0

str2mat(name) làm việc cho tôi.

3

Để thay thế cho việc sử dụng char(), bạn cũng có thể sử dụng các phương pháp chuỗi java. Vì vậy,

cName = name.toCharArray()' 

Sẽ trả về một mảng ký tự MATLAB.

Các vấn đề liên quan